Php 分析错误:语法错误,意外(T_变量)
我正在执行一些查询,发现以下错误: 分析错误:语法错误,第行出现意外的“$section2”(T_变量) 二十二 第22行是: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 = $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!到目前为止,我在整个编程过程中遇到的最奇怪的问题!也许未来会有一个更好的。