我创建了一个update语句,它只在字符串长度大于0时更新。
一旦条件满足,我就试图在update语句中转义引号。我一直在用 addslashes($name)
,但在这种新情况下 addslashes
不再有效。
上一页:
$mysqli->query("UPDATE table SET name='".addslashes($name)."' WHERE id=1") or die($mysqli->error);
电流:
$mysqli->query("UPDATE table SET name=IF(LENGTH($name)=0, name, '$name') WHERE id=1") or die($mysqli->error);
我该把它放在哪里 addslashes()
要使此函数正确转义字符?这个函数在这个特定的mysql php语句中工作吗?
1条答案
按热度按时间pkbketx91#
第二个问题是
$name
内部呼叫LENGTH
也需要加引号,即。使用
addslashes
在该查询中,您将写入:但实际上,你应该考虑使用一个事先准备好的语句;那你就不用担心转义引号了。此外,您应该检查
$name
如果查询为空,则根本不运行它。类似这样的方法应该会起作用(我假设您有一个名为$id
存储更新的id值)。如果要更新多个数据段,可以尝试以下操作: