PHP PDO撇号

PHP PDO撇号,php,pdo,apostrophe,Php,Pdo,Apostrophe,我在从php执行存储过程(FIREBIRD)时遇到问题: $sqlSP="select record_created,record_updated from SP_IMPORT_CRM_SELECTIE (11, 'AC015612','".$tester."'.............. 当$tester包含此符号“我有问题…” 如何修复此问题?本质上,在查询中使用字符串之前,需要先对其进行转义 最好的方法是使用PDO准备的语句: $sqlSP="select record_created,

我在从php执行存储过程(FIREBIRD)时遇到问题:

$sqlSP="select record_created,record_updated from SP_IMPORT_CRM_SELECTIE (11, 'AC015612','".$tester."'..............
当$tester包含此符号“我有问题…”


如何修复此问题?

本质上,在查询中使用字符串之前,需要先对其进行转义

最好的方法是使用PDO准备的语句:

$sqlSP="select record_created,record_updated from SP_IMPORT_CRM_SELECTIE (11, 'AC015612',:tester)";
$ps=$dbhandle->prepare($sqlSP);
$ps->bindParam(':tester',$tester,PDO::PARAM_STR);
$ps->execute();

(假设
$dbhandle
是您的PDO对象)

尝试绑定参数,看看prepare方法


清理参数,使用
addslashes
。选中@sal00m切勿使用
addslashes()
清理数据库数据。PDO为此准备了语句。请指定要连接的数据库,因为RDBMS之间的转义字符不同。还需要注意的是,您当前的查询没有完全使用PDO。您是正确的@Pekka웃, 忘记我的评论吧:S。正确的方法是使用事先准备好的陈述。我(有时)想知道为什么这样的问题仍然能得到答案!