Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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 PDO MySQL准备语句_Php_Mysql_Pdo_Prepared Statement - Fatal编程技术网

具有多个值的PHP PDO MySQL准备语句

具有多个值的PHP PDO MySQL准备语句,php,mysql,pdo,prepared-statement,Php,Mysql,Pdo,Prepared Statement,我知道你不能用“试过”这个字,但那没用,有什么想法吗 $sql = $db->prepare('INSERT INTO testDB VALUES(`$title`,`$bodytext`,`$created`)'); 试试这个: $sql = $db->prepare('INSERT INTO testDB VALUES(?, ?, ?)'); $sql->execute(array($title, $bodytext, $created)); 我所做的是从SQl查询中删

我知道你不能用“试过”这个字,但那没用,有什么想法吗

$sql = $db->prepare('INSERT INTO testDB VALUES(`$title`,`$bodytext`,`$created`)');
试试这个:

$sql = $db->prepare('INSERT INTO testDB VALUES(?, ?, ?)');
$sql->execute(array($title, $bodytext, $created));
我所做的是从SQl查询中删除变量,并将它们替换为
作为占位符。您只在执行时将值绑定到语句

您尝试执行此操作的方式与使用常规SQL查询没有什么不同。

尝试以下操作:

$sql = $db->prepare('INSERT INTO testDB VALUES(?, ?, ?)');
$sql->execute(array($title, $bodytext, $created));
我所做的是从SQl查询中删除变量,并将它们替换为
作为占位符。您只在执行时将值绑定到语句


您尝试这样做的方式与使用常规SQL查询没有什么不同。

反勾号用于转义保留字。您需要常规的
单引号。而且由于您使用的是预处理语句,因此无论如何都不应该直接插入这样的值。世界上所有预处理语句都不会将您从SQL inject中解救出来如果未正确使用ion攻击。反勾号用于转义保留字。您需要常规的
单引号。而且,由于您使用的是预处理语句,因此无论如何都不应该直接插入这样的值。如果不使用预处理语句,世界上所有预处理语句都不会使您免受SQL注入攻击正确。工作正常,但我的web漏洞扫描器仍然可以攻击该网站:(Nvm,原来代码一次只显示3行,扫描器实际上没有覆盖旧数据,所以一切正常。感谢您的帮助!工作正常,但我的web漏洞扫描器仍然可以攻击该网站:(Nvm,原来代码一次只显示3行,扫描仪实际上并没有覆盖旧数据,所以一切正常。感谢您的帮助!