PHP / SQL尝试获取status = something的所有订单号并将订单号放入数组中

时间:2017-12-02 03:10:25

标签: php mysql sql arrays

我正在厨房显示屏上工作。如果我知道订单号,我就可以使用它。我试图获取所有订单号,其中status =" INQUEUE"并将这些数字放入一个数组中。目标是计算总数" INQUEUE"订单以及屏幕上的段只显示arr [0] -Arr [4]。由于某种原因,这部分代码会导致错误。

    $status= "INQUEUE";    
    $arr    = array();
    $sql    = "select ORDID from HEADERS where CurrentStatus=$status";
    $result = mysql_query($sql) or die(mysql_error());  
    while( $row = mysql_fetch_assoc( $result ) ) {
      $arr[] = $row[ORDID];
    }

我希望获取状态为" INQUEUE"的所有订单号。进入数组,所以我可以将命令显示为arr [X]

1 个答案:

答案 0 :(得分:1)

您收到的具体错误是什么?

在查询中突出的一点是变量需要用单引号括起来,所以它看起来像这样:

$sql    = "select ORDID from HEADERS where CurrentStatus='$status'";

有时,当我使用动态构建的查询时,我喜欢回显查询字符串,以便我可以确切地看到它是如何发送到服务器的。

此外,在使用动态构建的SQL查询时,养成使用参数化查询的预准备语句的习惯总是一个好主意。

此外,与ArtisticPhoenix达成协议,我建议移植到另一个图书馆。最后,确保数组索引描述符用双引号括起来。这是使用mysqli的代码:

$link = mysqli_connect("dbserver", "user", "password", "database");
$status= "INQUEUE";    
$arr    = array();
$sql    = "select ORDID from HEADERS where CurrentStatus='$status'";
$result = mysqli_query($link, $sql);  
while( $row = mysqli_fetch_assoc($result)) {
  $arr[] = $row["ORDID"];
}