如何在php中的select查询where语句中使用数组?
我有这样的代码:如何在php中的select查询where语句中使用数组?,php,mysql,Php,Mysql,我有这样的代码: $sql11 = "select room_no from guestrocordtransc where roomtype='".$roomtype."'"; $retval11 = mysql_query( $sql11, $conn ); while($row11 = mysql_fetch_array($retval11,MYSQL_ASSOC)) { $cid_room=$row11['roomno']; } $sql = "select room_no
$sql11 = "select room_no from guestrocordtransc where roomtype='".$roomtype."'";
$retval11 = mysql_query( $sql11, $conn );
while($row11 = mysql_fetch_array($retval11,MYSQL_ASSOC))
{
$cid_room=$row11['roomno'];
}
$sql = "select room_no
FROM roominfo WHERE room_no
NOT IN(
select roomno
from guestrocordtransac
where roomtype='".$roomtype."'
between '".$check_in."'
and '".$check_out."'
and cid='".$cid_room."')
and roomtype='".$roomtype."'";
这里我得到一个房间号数组,它存储在$cid_room中
现在,我需要select查询中的$cid_room来获取一个不在guestrocordtranac中的特定room_no
我的第二个查询如下所示:
$sql11 = "select room_no from guestrocordtransc where roomtype='".$roomtype."'";
$retval11 = mysql_query( $sql11, $conn );
while($row11 = mysql_fetch_array($retval11,MYSQL_ASSOC))
{
$cid_room=$row11['roomno'];
}
$sql = "select room_no
FROM roominfo WHERE room_no
NOT IN(
select roomno
from guestrocordtransac
where roomtype='".$roomtype."'
between '".$check_in."'
and '".$check_out."'
and cid='".$cid_room."')
and roomtype='".$roomtype."'";
是否可以在查询中这样给数组值$cid\u room,它会检查所有值。如果$cid\u room不是多维数组,您可以在选择查询中这样使用数组: 从roominfo中选择房间号 房间号不在。内爆“,”,$cid\U房间。 roomtype=“.$roomtype.”
但我不确定这是否适用于您的情况。您可以将数组转换为in子句 1:while$row11=mysql\u fetch\u array$retval11,mysql\u ASSOC { $cid_room=$row11['roomno']; } 这样你就不会得到一个$cid_房间的数组 您必须使用$cid_room[]而不是$cid_room $sql=选择房间号 来自roominfo,房间号 不在 选择房间号 来自Guestrocord Transac 其中roomtype='.$roomtype' 在“$签入”之间 还有“$退房。” 和cid在“$cid_房间” roomtype=“.$roomtype.”;
不要使用mysql,你的意思是:WHERE room\u no!=$cid_room AND roomtype=“.$roomtype.”???rooinfo表如下所示:id、房间号、房间类型、cid……例如:第一行1302 a/c 1……第二行201非a/c 2……我希望您理解我的评论与您的问题无关。这是对代码安全性的一种保护