我有這個函數並且它一直髮出錯誤「致命錯誤:帶有消息」SQLSTATE [HY000]的未捕獲異常'PDOException' :一般錯誤'in ...「錯誤指示我」$ row = $ q2-> fetchAll(PDO :: FETCH_OBJ);「。我已經搜索噸解決方案,但無濟於事。我的代碼似乎是相同的格式,在PHP文檔中給出的例子......致命錯誤:帶有消息'SQLSTATE [HY000]:一般錯誤'的未捕獲的異常'PDOException'
這裏的更新每TML的建議功能:
//gets a record by id and sets object properties to it's values
function getById($sid) {
global $conf, $pdo;
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//checks to see if a record exists for the given id
try {
$stmt = $pdo->prepare('Use ' . $conf['database'] . '; select mem_id as "_id", mem_name as "_name", mem_info as "_info",
mem_password as "_password", mem_email as "_email", mem_image as "_image",
mem_group as "_group"
from ' . $conf['prefix'] . 'members
where mem_id = ?;');
echo"85 <br />";
$stmt->execute(array($sid));
echo"86 <br />";
$rows = $stmt->fetchAll(PDO::FETCH_OBJ);
echo"90 <br />";
print_r($rows);
if (count($rows) !== 1) {
throw new Exception("Some exception here");
}
foreach($rows[0] as $field=>$value) {
$this->$field = $value;
echo"97 <br />";
}
} catch (PDOException $e) {
echo"something went wrong! " . var_dump($e);
}
}
的var_dump輸出:
object(PDOException)[4]
protected 'message' => string 'SQLSTATE[HY000]: General error' (length=30)
private 'string' (Exception) => string '' (length=0)
protected 'code' => string 'HY000' (length=5)
protected 'file' => string 'D:\wamp\www\testing\scripts\Kantan\classes\Member.php' (length=53)
protected 'line' => int 86
private 'trace' (Exception) =>
array (size=2)
0 =>
array (size=6)
'file' => string 'D:\wamp\www\testing\scripts\Kantan\classes\Member.php' (length=53)
'line' => int 86
'function' => string 'fetchAll' (length=8)
'class' => string 'PDOStatement' (length=12)
'type' => string '->' (length=2)
'args' =>
array (size=1)
...
1 =>
array (size=6)
'file' => string 'D:\wamp\www\testing\scripts\Kantan\test.php' (length=43)
'line' => int 5
'function' => string 'getById' (length=7)
'class' => string 'Member' (length=6)
'type' => string '->' (length=2)
'args' =>
array (size=1)
...
private 'previous' (Exception) => null
public 'errorInfo' =>
array (size=1)
0 => string 'HY000' (length=5)
public 'xdebug_message' => string '<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>(!)</span> PDOException: SQLSTATE[HY000]: General error in D:\wamp\www\testing\scripts\Kantan\classes\Member.php on line <i>86</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeee'... (length=1472)
謝謝提前尋求幫助。
代碼中的$ q2-> fetchAll'在哪裏? – Barmar 2014-08-05 05:29:23