Сбой запроса с использованием mysqli

Уважаемое сообщество stackoverflow, я, кажется, столкнулся с проблемой. Я делаю UCP для своего SAMP-сервера, и у меня возникла проблема с одним из моих файлов административных функций.

<?php
session_start();

if($_SESSION['admin'] == 0) {
echo '<script>setTimeout("window.location=\'../index.php\'", 0)</script>';
}

include("../includes/connect.php");

$Charname = $_POST['charname'];
$Username = $_POST['username'];
$Faction = (int)$_POST['faction'];
$Rank = (int)$_POST['rank'];

$query = $mysqli->query("UPDATE characters SET Faction='$Faction', FactionRank='$Rank' WHERE Username='$Username' AND Character='$Charname'");

if($query == false) {
echo '<div class="error" id="error">Your request cannot be handled at this time.</div>';
} else {
header("Location: ../changepfac.php");
}

?>

Это страница, которую я использую для действия моей формы. Проблема, похоже, заключается в запросе, так как это входные данные, которые я должен получить:

UPDATE characters SET Faction='5', FactionRank='6' WHERE Username='Derek_McFlies' AND Character='Derek_McFlies';

И когда я выполняю это в phpMyAdmin, я получаю следующую ошибку:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '='Derek_McFlies'' at line 1

Задача запроса — проверить, совпадают ли имя пользователя и имя персонажа с данными в базе данных, а затем обновить их, указав новую фракцию и ранг игрока.

Если кто-то может помочь мне разобраться с этим, это будет здорово!

С уважением,
Павел

0

Решение

character это зарезервированное ключевое слово. Если вы хотите назвать столбец identiofier с ним вы должен оберните это в клещи:

UPDATE characters SET Faction='5', FactionRank='6' WHERE Username='Derek_McFlies' AND `Character`='Derek_McFlies';
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]