繁体   English   中英

更新SQL查询-将值设置为PHP字符串变量

[英]Update SQL query - Set values to PHP string variable

这可能是一个非常琐碎的问题,但我已经为此苦苦挣扎了一段时间,并且还尝试在线查找答案并仍然出现错误。

尝试为PHP / MySql表单编写一个简单的UPDATE查询:

  $sql="UPDATE mytable SET numericValue = '".$someid."', description =  '".$sometext."' WHERE id='".$myid."' ";

虽然所有数值都可以传递和更新,但我无法正确地进行描述。 description列是VARCHAR,$ sometext是字符串,我无法正确转义/将其转义。

您应该利用sprintf,它通过提供占位符(%d代表小数,%s代表字符串)来避免字符串混淆。 有关更多信息,请参见手册

$sql= sprintf("UPDATE mytable SET numericValue = %d, description = '%s' WHERE id = %d", $someid, $sometext, $myid);

如果$ someText来自GET / POST / ..,则应在其周围包裹一个mysql_real_escape_string()以防止SQL注入(或使用PDO准备的语句)。

$sql="UPDATE mytable SET numericValue = '$someid' , description = '$sometext' WHERE id='$myid' ";

我认为您必须担心sql注入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM