$url = "example.com";
$data = json_decode($raw);
$pname=$data->name;
$sql="UPDATE `client` SET pname='$pname' WHERE url='$url'";
$query=mysql_query($sql,$link)or die(mysql_error());
当 json 数据被解码时,变量 $pname 中的值进入客户端表。如果名称中有撇号 ('),则会引发错误。我可以在变量中进行哪些更改以将名称发送到数据库表?
例子:
杰瑞更新没有问题
D'Cunha 没有更新,因为它带有撇号。查询变成
"UPDATE `client` SET pname='D'Cunha' WHERE url='example.com'"
我找到了一些文章,但没有说明如何找到撇号和更改变量值
最佳答案
使用 mysql_escape_string()
$sql="UPDATE `client` SET pname='".mysql_escape_string($pname)."' WHERE url='$url'";
并学习
mysqli
或 PDO
因为 mysql
已贬值且很快将被删除关于php - 由于撇号符号,mysql 查询未更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26727462/