gpt4 book ai didi

php - 如何在 PHP 中用单引号(')内爆字符串?

转载 作者:可可西里 更新时间:2023-10-31 23:53:19 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Formatting a PHP array for an SQL "IN" clause

(7 个回答)


7年前关闭。




这是我的代码:

   $newMsg="chinu debasish bitto deba prince's";

//$curTime=date('G');
//if(($curTime >= 9) || ($curTime < 21)){
$chkUname=explode(" ",$newMsg);
echo "SELECT mobile_hash FROM ".CHAT_USER." WHERE username IN(".implode(",",$chkUname).")";
//}

上面的代码我得到:
SELECT mobile_hash
FROM chat_users WHERE username IN(chinu,debasish,bitto,deba)

但我希望每个字符串都带有单引号,例如:
SELECT mobile_hash
FROM chat_users WHERE username IN('chinu','debasish','bitto','deba')

编辑:这个问题不是重复的,请再次检查我的问题和 Formatting a PHP array for an SQL “IN” clause

最佳答案

使用 构建格式化的查询字符串值implode .由于您的字符串中有撇号,因此您必须 escape 进行错误和 SQL 注入(inject)攻击的免费查询。

$imp = "'" . implode( "','", mysql_escape_string($chkUname) ) . "'";

echo "SELECT mobile_hash FROM ".CHAT_USER." WHERE username IN($imp)";

更新:

mysqldeprecated从 PHP 5.6 开始,所以你应该选择 mysqli_*PDO .在 mysqli , 字符串是这样转义的
mysqli_real_escape_string($con, $chkUname)

哪里 $conconnection对象并创建一个连接对象:
$con = mysqli_connect("hoste", "user", "password", "db_name");

关于php - 如何在 PHP 中用单引号(')内爆字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25461289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com