$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/