PDO忽略列名中的引号

时间:2018-10-11 18:27:45

标签: php sql pdo prepared-statement quotes

我正在构建一个php API,用于编辑帐户的某些信息。 这是我的代码的一个示例(不是真正的代码,而是更短的代码):

$interrogations = "?=?, ?=?, ?=?"; //auto generated
$toSend = array("col1","val1","col2","val2","col3","val3","mail"); //also auto-generated
$req = $bdd->prepare('UPDATE accountInfo SET '.$interrogations.' WHERE mail=?');
$req->execute($toSend);

但是最终生成的查询是(从PDO debugDumpParams()获得):UPDATE accountInfo SET 'col1'='val1', 'col2'='val2', 'col3'='val3' WHERE mail='mail'

问题:不能引用cols(因此会产生语法错误),但是我需要使用PDO prepare()防止SQL注入。我该如何解决这个问题?

谢谢!

0 个答案:

没有答案