Ошибка разбора: синтаксическая ошибка, неожиданная (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  

Посмотреть здесь:

(Да, я знаю, что мои круги не самые хорошие)

И вот как это должно выглядеть:


Решение?

Просто напишите заявление новым с помощью клавиатуры и пальцев.

Другие вопросы по тегам