2013-01-10 95 views
0

我一直在脚本PHP,HTML和SQL一段时间,并认为我的技能是平均的。我想开发强化我的PHP与PDO技能,尤其是防止SQL注入。PHP PDO - PHP解析错误:语法错误,意外T_ENCAPSED_AND_WHITESPACE

我已阅读并遵循了大量的实例,但似乎总是抛出

PHP Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE" error

,我感到困惑,是什么问题。错误发生在第23行,它应该执行。

我知道表单域很好,因为这是没有PDO的工作。由于转换,我不断收到上述错误。 [$var1-$var6针对示例进行了更改]。

<?php if(isset($_POST['submit'])) { 

// connect to db include '/xxx/xxx/pdo-db-conn.php'; 

// check db connection 

$subject = $_POST['subject']; 
$email = $_POST['email']; 
$name = $_POST['name']; 
$date = $_POST['date']; 
$var1 = $_POST['var1']; 
$var2 = $_POST['var2']; 
$var3 = $_POST['var3']; 
$var4 = $_POST['var4']; 
$var5 = $_POST['var5']; 
$var6 = $_POST['var6']; 
$sqli = "INSERT INTO mytable (subject,email,name,date,var1,var2,var3,var4,var5,var6) VALUES (:subject,:email,:name,:date,:var1,:var2,:var3,:var4,:var5,:var6)"; 
$sql = $dbConn->prepare("$sqli"); 
$sql->execute(array(':subject' => $subject, ':email' => $email, ':name' => $name, ':date' => $date, ':var1' => $var1, ':var2' => $var2, ':var3' => $var3, ':var4' => $var4, ':var5' => $var5, ':var6' => $var6)'); 
+0

即使这个网站的语法高亮显示了错误所在..找一个适当的IDE,所以你不必问您的解析错误是。 –

+0

会这样做,谢谢你的建议。 – Nikita

+0

@ N.B。我目前正在使用vim for Linux,对Linux CLI的良好IDE有何看法? – Nikita

回答

0

这里的问题是

INSERT INTO mytable >(subject,email,name,date,var1, 
        ^

删除此>

,并也由此在最后

$var6)'); 
    ^
+0

这会导致SQL错误,而不是PHP错误。他的脚本中有无效的PHP。 – Prisoner

+0

对不起,这是我的一个错字,“>”不在我原来的PHP中。更正了代码块。 就是这样,除此之外。 :) – Nikita

+2

@NikitaRuffRuff移除'');'并添加');',你的PHP是无效的(正如你从StackOverflows代码高亮显示在行结尾处看到的那样) – Prisoner

4

删除'你的结尾有一个'阵列。 格式化您的代码会帮助你看到这样的错误了:)

$sqli = "INSERT INTO mytable (subject,email,name,date,var1, var2, var3, var4, var5, var6) VALUES (:subject,:email,:name,:date,:var1,:var2,:var3,:var4,:var5,:var6)"; 

$sql = $dbConn->prepare("$sqli"); 
$sql->execute(array(
    ':subject' => $subject, 
    ':email' => $email, 
    ':name' => $name, 
    ':date' => $date, 
    ':var1' => $var1, 
    ':var2' => $var2, 
    ':var3' => $var3, 
    ':var4' => $var4, 
    ':var5' => $var5, 
    ':var6' => $var6 
)); 
+0

非常感谢! :) – Nikita

相关问题