加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何在PHP中使用单引号(‘)来破坏字符串?

发布时间:2020-12-13 22:15:00 所属栏目:PHP教程 来源:网络整理
导读:参见英文答案 Formatting a PHP array for an SQL “IN” clause????????????????????????????????????7个 这是我的代码: $newMsg="chinu debasish bitto deba prince's"; //$curTime=date('G'); //if(($curTime = 9) || ($curTime 21)){ $chkUname=explode
参见英文答案 > Formatting a PHP array for an SQL “IN” clause????????????????????????????????????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注入攻击免费查询.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读