php - 如何返回 MySQL 结果,其中的 id 不存在于已使用的 id 数组中?

标签 php mysql arrays

我正在创建一个基于网络的阅读测试。学生会收到一篇随机阅读的文章,一旦他们回答了问题,文章 ID 和他们的学生 ID 就会放在一个表格中,该表格会跟踪他们使用了哪些文章。

我需要返回尚未使用的段落的 ID。我一直在尝试使用 MySQL 的 NOT IN 特性。

$newpassage = "SELECT passName 
               FROM passages 
               WHERE passid NOT IN ('$passidarray');";

$passidarray 是包含已经使用过的段落的 id 的数组。但是每次,它仍然返回已经使用过的 channel id。我对数字进行了硬编码,以查看它是否有效并且确实有效。但是他们使用的段落越多,他们使用测试的次数就越多。

例如,如果有三个段落,他们只使用了 1,结果应该返回 2 和 3,但它返回的是 1、2 和 3。那么一旦他们使用了 2,它应该只返回3. 但它正在返回所有这些。我做错了什么吗?任何帮助将不胜感激,甚至是更好的方法。

最佳答案

SQL 不使用 php 的数组对象格式。尝试:

$newpassage = "SELECT passName FROM passages WHERE passid NOT IN (" . implode(',', $passidarray) . ");";

关于php - 如何返回 MySQL 结果,其中的 id 不存在于已使用的 id 数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9425284/

相关文章:

javascript - 如何从输入数组中获取多维数组

arrays - 如何使用元素值除以数组总和的概率返回元素的索引

php - 从 sql 数据库设置 session id 变量;这安全吗?

mysql - 游标在触发器内并更新表列

php 5.2,自动加载尝试在主机上加载 PDO.php,在本地工作正常

java - 无法通过反射 setter 设置字段值

PHP SoapClient 为相同的元素创建 XML 引用,使其无法用于服务

javascript - 使用 jquery AJAX 提交表单

php - 如何从 View 中使用模型函数? - 拉维尔 5.4

c++ - 我的数组出现错误,因为它被定义为单数整数