作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
代码:
$friendsArray = array("zac1987", "peter", "micellelimmeizheng1152013142");
$friendsArray2 = join(', ',$friendsArray);
$query120 = "SELECT picturemedium FROM users WHERE username IN ('$friendsArray2')";
echo $query120;
这是输出:
SELECT picturemedium FROM users WHERE username IN ('zac1987, peter, micellelimmeizheng1152013142')
失败是因为用户名没有用单引号括起来,例如“zac1987”、“peter”、“mice...”。每个用户名如何用单引号括起来?
最佳答案
让我们逐一遍历每个名称,转义每个名称。
我建议您使用实际的 MySQL 转义函数,而不是仅仅用引号括起来,以确保数据真正正确地进入查询。 (否则,如果我输入像 It's me!
这样的名字,单引号会弄乱查询。)我假设您使用的是 PDO。 (你应该这样做!),但是,如果不是,请将对 PDO::quote
的引用替换为 mysql_real_escape_string
。
foreach($friendsArray as $key => $friend) {
$friendsArray[$key] = PDO::quote($friend);
}
$friendsArray2 = join(', ', $friendsArray);
关于php - mysql WHERE IN数组字符串/用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6617620/
我是一名优秀的程序员,十分优秀!