获取多行ID而不循环

时间:2014-01-19 06:23:32

标签: php

我拥有的值在会话中。我不能使用JOIN(我假设),因为那是针对多个表。我正在使用一张桌子。

该表名为'VEHICLES'。每行都有一个名为“car”的字段,并且具有AUTO INCREMENTED ID。我需要每辆$车的ID *。所以我想要一个只有在$ car *存在时才会提取ID的查询。

总会有至少一辆$ car *。但2,3,4车等......都是可能的。如何检查并查询这些可能存在的$ cars?

$car1 = 'Honda';
$car2 = 'Mazda';
$car3 = '';

$query="SELECT
  id( WHERE car='$car1') as My_car1,
  id( WHERE car='$car2') as My_car2,
FROM VEHICLES";

list($My_car1,$My_car2)=pdo_fetch_array(pdo_query($query));

我意识到我的查询错误,无法正常工作。但这是我能够直观地解释我想要做的事情的唯一方法。

1 个答案:

答案 0 :(得分:1)

基本SQL:

SELECT id
FROM VEHICLES
WHERE car IN ('Honda', 'Mazda')

作为一般提示, NEVER 连锁数据库以您的方式调用。数据库操作可能会/将会失败,并且您正在取得成功。如果任何“内部”调用失败,它们将返回一个布尔值false并打破外部调用。你会被置于黑暗中,为什么事情会失败。

从不在处理外部资源时假设成功。总是假设一切都会失败,在每个阶段检查失败,并将成功视为一个惊喜。