我用OOP方式使用mysqli預處理語句。一切都按預期工作,但我似乎無法找到任何有關如何在while循環中檢測並拋出異常的文檔。這是我的代碼目前的狀態,它完美的工作。如何在獲取mysqli結果時在while循環中拋出異常?
$rslt=array();
$data=array();
$stmt->bind_result($rslt['col1'], $rslt['col2'], $rslt['col3'], $rslt['col4']);
while($stmt->fetch()){
$data[]=$rslt;
}
但是它不包含拋出異常的方法。這就是我如何在類似的腳本中拋出一個異常,它只限於1個結果(因此我不需要在這個例子中循環它們)。
$rslt=array();
$data=array();
$stmt->bind_result($rslt['col1'], $rslt['col2'], $rslt['col3'], $rslt['col4']);
if(!$stmt->fetch()){
throw new Exception('Failed to fetch results', 1);
}
$data[]=$rslt;
我幾乎想要做的是在下面的代碼,但它引發以下錯誤: -
"Parse error: syntax error, unexpected T_THROW in xxx/xxx/includes/_xxxClass.php on line 95
while($stmt->fetch()){
$data[]=$rslt or throw new Exception('Failed to fetch results', 1);
}
我正在尋找的是一個方法,如果提取結果時出錯,然後在我的while循環中拋出一個異常。
在此先感謝!
你說的*意味着什麼不起作用*? – Shoe 2012-07-29 11:11:50
你指的是代碼塊#3嗎?我得到一個PHP錯誤告訴我,我所做的包含無效的語法。這應該是正確的嗎? – Grenville 2012-07-29 11:14:24
你能提供錯誤嗎? – Shoe 2012-07-29 11:14:53