我正在使用设计系统来获取使用INSERT
语句的状态的最新更新。 Prepared语句块看起来像这样。
$load_status = $db->prepare('SELECT `statusID` FROM `tor_status` WHERE `requestID`=? ORDER BY `timestamp` DESC LIMIT 1');
$load_status->bind_param('i',$request_id);
$load_status->execute();
$load_status->bind_result($request_status);
$load_details->fetch();
$status_denied="";
$status_approved="";
$selected = " checked";
//Preselect approved/denied status if applies
switch ($request_status){
case 0:
break;
case 1:
$status_pproved = $selected;
break;
case 2:
$status_denied = $selected;
break;
}
但是,使用此数据运行时
| changeID | timestamp | requestID | statusID |
| 1 | 6/10/2014 11:17 | 1 | 0 |
| 2 | 6/10/2014 11:17 | 2 | 0 |
| 3 | 6/10/2014 11:33 | 3 | 0 |
| 4 | 6/10/2014 11:41 | 4 | 0 |
| 5 | 6/10/2014 13:24 | 5 | 0 |
| 9 | 6/17/2014 12:30 | 6 | 0 |
| 10 | 6/17/2014 13:35 | 7 | 0 |
| 11 | 8/9/2014 15:09 | 8 | 0 |
| 12 | 8/9/2014 15:13 | 3 | 1 |
| 13 | 8/9/2014 15:14 | 3 | 0 |
| 14 | 8/9/2014 15:14 | 6 | 0 |
| 15 | 8/9/2014 15:28 | 7 | 2 |
| 16 | 8/9/2014 15:29 | 6 | 1 |
在DB中运行SQL语句返回“1”,并且在查找requestID为6时,准备好的返回“0”。有人有任何建议吗?
答案 0 :(得分:0)
看起来这可能是你的问题:
$status_approved="";
...
case 0:
break;
case 1:
$status_pproved = $selected;
break;
您永远不会将$status_approved
设置为新的,可能是未读的变量$status_pproved
,因此案例0
和1
的行为相同。
<强>更新强>
应:
$load_details->fetch();
Be:
$load_status->fetch();