$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'";

并学习 mysqliPDO 因为 mysql 已贬值且很快将被删除

关于php - 由于撇号符号,mysql 查询未更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26727462/

10-12 04:53