Php 获取多行ID';没有环

Php 获取多行ID';没有环,php,Php,我的值在会话中。我不能使用JOIN(我假设),因为它适用于多个表。我在一张桌子上工作 该表称为“车辆”。每行有一个名为“car”的字段,并有一个自动递增的ID。我需要每个$car*的ID。所以我想要一个查询,只有在$car*存在的情况下才会提取ID 将始终至少有一辆$car*。但是2,3,4辆车等等。。。这是可能的。如何检查和查询这些可能存在的$cars $car1 = 'Honda'; $car2 = 'Mazda'; $car3 = ''; $query="SELECT id( WHE

我的值在会话中。我不能使用JOIN(我假设),因为它适用于多个表。我在一张桌子上工作

该表称为“车辆”。每行有一个名为“car”的字段,并有一个自动递增的ID。我需要每个$car*的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));
我意识到我的查询是错误的,不会起作用。但这是我能直观地解释我想做什么的唯一方法

基本SQL:

SELECT id
FROM VEHICLES
WHERE car IN ('Honda', 'Mazda')
作为一个一般提示,决不chain DB会以您的方式调用。DB操作可能会失败,您假设成功。如果任何“内部”调用失败,它们将返回布尔值false并中断外部调用。你将对事情失败的原因一无所知


在与外部资源打交道时,永远不要假定自己成功。始终假设一切都会失败,在每个阶段检查失败,并将成功视为惊喜。

您不应该使用
$car1,$car2
,而是使用类似
$car[1],$car[2]
的数组。这将使建议的解决方案更容易实施。非常感谢您的回复,安东尼。如何使可能的结果成为数组?只需重构代码,使
$car1='Honda'替换为
$car[1]=“本田”
。然后可以使用
内爆()
将数组转换为逗号分隔的字符串,以便在查询中使用。谢谢,Marc。我会仔细阅读你的建议,因为我是一个初学者,真的不明白chain DB是什么意思。另一方面,我不知道如何使用建议的查询来检查现有的$car。