我正在厨房展示屏幕上工作。如果我知道订单号,我可以工作。我正在尝试获取所有订单编号,其中状态=" 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]
您收到的特定错误是什么?
在查询上脱颖而出的一件事是,变量需要包装在单个引号中,因此看起来像这样:
$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"];
}