Ошибка разбора: синтаксическая ошибка, неожиданная (T_VARIABLE)
Я выполняю некоторые запросы и получаю следующее сообщение об ошибке:
Ошибка разбора: синтаксическая ошибка, неожиданное "$section2" (T_VARIABLE) в строке 22
Строка 22:
$section2 = $db->prepare("INSERT INTO learning_style_scores VALUES (5,12,4)");
Я понятия не имею, почему я получаю это, я проверил свой синтаксис, и все, кажется, правильно. Это в принципе ничего не нравится после $section1
запрос выполнен
РЕДАКТИРОВАТЬ:
Я понимаю, что это подвержено внедрению SQL, но я делаю это так только для целей тестирования.
<?php
session_start();
try {
$db = new PDO("mysql:dbname=questionnaire;host=localhost", "root", "");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
echo 'Caught exception: ', $e->getMessage(), "\n";
}
$session = md5(session_id());
// insert section1 data into database
$section1 = $db->prepare('INSERT INTO section1 VALUES (7,"test")');
$section1->execute();
// insert learning style score into database
$section2 = $db->prepare("INSERT INTO learning_style_scores VALUES (5,12,4)");
$section2->execute();
?>
1 ответ
Решение
Ваш код содержит несколько странных символов после точки с запятой в этой строке:
$section1->execute();
$section2->execute(); //same for this line
Если вы посмотрите в шестнадцатеричный редактор, вы увидите это:
24 73 65 63 74 69 6f 6e 31 2d 3e 65 78 65 63 75 74 65 28 29 3b e2 80 8b
//^^^^^^^^This bit right here
//And it should look like this:
24 73 65 63 74 69 6f 6e 31 2d 3e 65 78 65 63 75 74 65 28 29 3b
Посмотреть здесь:
(Да, я знаю, что мои круги не самые хорошие)
И вот как это должно выглядеть:
Решение?
Просто напишите заявление новым с помощью клавиатуры и пальцев.