Ошибка синтаксического анализа PHP: синтаксическая ошибка, неожиданное '$_GET' (T_VARIABLE)
Во-первых, да, я провел исследование и видел тонны постов, подобных этому. Я вижу сообщение, которое должно быть дубликатом, но это не помогло. Я очень новичок в этом и не знаю, как применить их результаты к моим. Я получаю этот результат при запуске:
Parse error: syntax error, unexpected '$_GET' (T_VARIABLE) in /storage/ssd4/269/2113269/public_html/updateuser.php on line 12
Вот мой сценарий:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "UPDATE Users ". "SET Status = '"$_GET["status"]"' ".
"WHERE Username = '"$_GET["username"]"'";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
?>
Спасибо большое за внимание. Возможно, я где-то пропустил точку с запятой, но некоторое время просматривал код. Пожалуйста, дайте мне знать!
3 ответа
Вы должны объединить строку, используя .
$sql = "UPDATE Users ". "SET Status = '".$_GET["status"]."' ".
"WHERE Username = '".$_GET["username"]."'";
Вам нужно concatenate
string
а также variable
с помощью dot(.)
правильно, как это
$sql = "UPDATE Users
SET Status = '".$_GET["status"]."'
WHERE Username = '".$_GET["username"]."'";
Это потому, что вы заканчиваете и начинаете утверждение с "
до и после GET
заявление декларация; но не поставил конкатенацию .
между "
а также GET
,
"SELETCT tb FROM db WHERE field = '".GET ['something']."'";
Это также хорошая привычка, чтобы обернуть два GET
в IF
Заявление и запустить полный код, если бот Get
имеет какое-то значение. Уменьшите ненужное выполнение SQL и PHP.