PHP+;MySQL“;哪里在;不';行不通

PHP+;MySQL“;哪里在;不';行不通,php,mysql,Php,Mysql,我按照如下方式构建查询: foreach($ids as $key => $idi) { $ids[$key] = "'" . $idi . "'"; }; $ids_imploded = implode(", ", $ids); $sql = "SELECT record_id, email FROM `actions_attendees` WHERE `action_id` IN (" . $ids_imploded . ") AND `backup` = 1 ORDER BY

我按照如下方式构建查询:

foreach($ids as $key => $idi) {
    $ids[$key] = "'" . $idi . "'";
};
$ids_imploded = implode(", ", $ids);
$sql = "SELECT record_id, email FROM `actions_attendees` WHERE `action_id` IN (" . $ids_imploded . ") AND `backup` = 1 ORDER BY `timestamp` ASC LIMIT " . count($ids) . ";";
$result = mysqli_query($con, $sql);
其中,
$ids
只是几个数字的数组(因此,
$ids\u内爆=“'132','165'”

当我在phpMyAdmin中运行生成的查询时,我得到了我想要的。当我从PHP运行它时,它只返回带有null的对象。为什么?

如果我移除转义循环,我也不会工作

编辑:生成的查询像

SELECT record_id, email FROM `actions_attendees` WHERE `action_id` IN ('1614', '1615') AND `backup` = 1 ORDER BY `timestamp` ASC LIMIT 2;

问题可能是您正在查询错误的数据库,请尝试先选择一个数据库,然后在查询之前执行以下操作:

 mysql_select_db('yourdb');

你的查询结果是真的吗?检查您的连接对象,似乎您的数据库不正确。

即使在PHP中,查询似乎也确实有效,但后来我在处理结果时,intellisense欺骗了我,我使用了
mysql\u fetch\u assoc
而不是
mysqli\u fetch\u assoc

也许让它回显您的SQL语句而不是执行它,并确保它按预期编写。我当然这样做了,并通过phpMyAdmin运行了回显,显示了数据库连接部分