Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 分析错误:语法错误,意外(T_变量)_Php_Mysql - Fatal编程技术网

Php 分析错误:语法错误,意外(T_变量)

Php 分析错误:语法错误,意外(T_变量),php,mysql,Php,Mysql,我正在执行一些查询,发现以下错误: 分析错误:语法错误,第行出现意外的“$section2”(T_变量) 二十二 第22行是: $section2 = $db->prepare("INSERT INTO learning_style_scores VALUES (5,12,4)"); 我不知道为什么会这样,我已经检查了我的语法,似乎都是正确的。执行$section1查询后,它基本上不喜欢任何东西 编辑: 我知道这很容易导致SQL注入,但我这样做只是为了测试目的 <?php

我正在执行一些查询,发现以下错误:

分析错误:语法错误,第行出现意外的“$section2”(T_变量) 二十二

第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();​
    ?>

您的代码在这一行的分号后面有一些奇怪的字符:

$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  
请看这里:

(是的,我知道我的圈子不是最好的)

它应该是这样的:


解决方案


用键盘和手指写下新的语句。

1。你在这里给我们看你的完整和真实的代码吗?2.这是正确的文件吗?3.请向我们显示您收到的完整准确的错误消息get@Rizier123我可以在本地复制一个语法错误,就像上面所说的那样。你没有任何准备。所以使用
$db->query
@Rizier123这都是我的代码,没有别的了。除了对itHa没有影响的HTML标记,确认后,只需在
后点击delete/backspace和代码解析。@Scuzzy是的,这也行!您应该注意到,如果在分号之后单击delete,它不会删除分号,它会删除奇怪的字符。另一种解决方案是:在Eclipse中应用代码格式(CTRL+SHIFT+F)(可能还有其他编辑器)自动消除额外的字符,从而使代码可解析。是的,就是这样。我自己可能永远也想不到这一点,这可能是我在整个编程过程中遇到的最奇怪的问题。谢谢大家!@用户3574492不客气:D!到目前为止,我在整个编程过程中遇到的最奇怪的问题!也许未来会有一个更好的。