我正在厨房显示屏上工作。如果我知道订单号,我就可以使用它。我试图获取所有订单号,其中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]
答案 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"];
}