php - 如果没有找到,MySQL 返回 0

标签 php mysql

$query = "SELECT field1, field2  FROM table WHERE id IN (1, 2, 3, 4, 5)"
$result = mysql_query($query);
$array = mysql_fetch_assoc($result);

如果没有 id#3,则 $array['field1'][3] 返回下一个结果(如果有)。

但在那种情况下我需要它返回 0。
所以 $array 应该包含 5 个元素,即使不是所有元素都在数据库中。

这有可能吗?

最佳答案

如果您确定要请求的 ID,那么使用 PHP 可能是最简单的方法。

只需首先生成一个正确大小的空数组(不是一个非常机器繁重的操作),然后获取所有行并在获取时立即将它们放在正确的键上。

喜欢

$array = range(0,5);
while(mysql_fetch_assoc($result)) {
  $array[$result['id']] = $result;
}

关于php - 如果没有找到,MySQL 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2400379/

相关文章:

php - move_uploaded_file 在 sql server 上不起作用

php - laravel 4.2 从 mysql 表中检索数据

php - 使用部署在 CentOS 服务器上的 Latchet 框架时,无法从 webapp 的 JS 建立 websocket 连接

php - 将选定的mysql数据导出到excel

php - 将列值与嵌套选择进行比较

java - 在 MySQL Workbench 中正确运行的 SQL 语法在 Java 中作为准备好的语句返回语法错误

javascript - 根据选择选项元素将表单重定向到不同的 URL 但重定向后未选择

PHP:从 HTML 形式的输入中获取数据,然后使用 filter_array 输出

mysql - 对具有外键的 mySQL 表进行分区?

page=-1 时 PHP 分页 SQL 语法错误