我有桌子
在此表中具有列名
SQL查询:
SELECT order_no FROM sales_orders where order_status='Pending' and order_type='1'
在上面的查询中,如果数据库列中不存在order_type=1
值而不是值1,则值为'0',我想显示错误。
如何修改上述查询?
答案 0 :(得分:1)
如果我理解正确,如果order_type不等于1,你想显示错误。如果是这样,你可以这样做:
$query = "SELECT order_no FROM sales_orders where order_status='Pending' and order_type = 1";
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_object()) {
if ($row->order_type != 1) {
printf('There is no rail order for order number %d', $row->order_no);
}
}
$result->close();
}
答案 1 :(得分:0)
试试这个:
SELECT IF(order_type=1,order_no,'Error')
FROM sales_orders
WHERE order_status='Pending'
答案 2 :(得分:0)
SQL应该是这样的(你不能在WHERE中使用order_type = 1,因为你想要回复“errornous”结果,因此你需要在那里使用IF):
SELECT IF(order_type=1,'OK','Error') AS okErrorFlag ,order_no
FROM sales_orders
WHERE order_status='Pending'
在sql中(我现在接受一个关联数组作为结果,你只有相应行的结果):
if ($row['okErrorFlag']=='Error')
{
echo 'ERROR: There is no rail order';
}
答案 3 :(得分:0)
尝试使用案例陈述
select id,
case order_type
when '1' then order_type
when '0' then 'error'
end
from
`sales_orders`
where order_status='pending'
答案 4 :(得分:0)
最后,我得到了我需要的东西......
$ sql_da_num =“SELECT order_no FROM sales_orders WHERE order_status ='Pending'和order_type ='1');
$result_da_num= db_query($sql_da_num);
$num_rows = db_num_rows($result_da_num);
if ($num_rows==0)
{
display_error("There is no Rail Order for this selected customer");
}
}