php - 从表中选择不在 php 数组查询中不起作用

标签 php mysql arrays

当我尝试在 NOT IN 子句中使用我的 $name_array 变量进行选择时,我收到一个数组到字符串转换的警告。我尝试了很多不同的引号组合,但要么出现语法错误,要么收到数组到字符串转换的警告。谁能看到我在这里做错了什么。谢谢。

$db->query("SELECT contactname
            FROM contacts 
            WHERE contactname 
            NOT IN (' . implode(",", $name_array) . ')
          ");

最佳答案

在将它们内爆到列表中之前,您需要在每个名称周围加上引号。

$names = implode(",", array_map(function($x) { return "'$x'"; }, $name_array));
$db->query("SELECT contactname
            FROM contacts 
            WHERE contactname 
            NOT IN ($names)
          ");

关于php - 从表中选择不在 php 数组查询中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19587684/

相关文章:

php - 无法使用php表单在google oauth上交换 token 的授权码

php - Apache 2.4 不加载 php5.5 与 Mac OS 10.8

php - PHP 应用程序中的 MySQL 语法错误,但可以在 MySQL 终端中使用

PHP - 只接受特定类的数组

php - 保持用户特定 session 信息安全的最佳方式

php - 我可以从 PHP 调用多核 LAMP 机器上的多个 FFMPEG 进程吗?

php - 登录php脚本不允许登录

php - mysql数据库中的倒计时字段值

sql - Spark 内联与。横向 View explode 差异?

python - SQLAlchemy 默认的 PostgreSQL ARRAY 行为