php - 如何在 PHP 中的 select 查询 where 语句中使用数组?

标签 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']; 
}

这里我得到了一个房间号数组,它存储在 $cid_room 中。

现在,我需要在选择查询中使用此 $cid_room 来获取不在 guestrocordtransac 中的特定 room_no。

我的第二个查询如下所示:

$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),它会检查所有值吗?

最佳答案

如果 $cid_room 不是一个多维数组,你可以像这样在选择查询中使用数组:

"SELECT room_no FROM roominfo WHERE room_no NOT IN (".implode(',',$cid_room).") AND roomtype='".$roomtype."'";

但我不确定这是否适用于您的情况。

关于php - 如何在 PHP 中的 select 查询 where 语句中使用数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30243483/

相关文章:

javascript - 使用php和javascript将随机数放入txt文件中

php - PHP 中的 SQL Server 存储过程输出参数

mysql - Grafana世界地图面板: latitude and longitude in mysql cannot display points on map

php - 从 Symfony 中的路由条件表达式访问全局参数

php - 使用PHP动态生成具有不同id的div

mysql - nodejs res.end 在回调中不起作用

mysql - 在centos(Linux)中从mysql删除数据库

mysql:如果表B中不存在,则从表A中选择所有项目

php - 使用 $searchEscaped 显示特定数据

c# - c# 中的 sql 查询中的索引(从零开始)