我想用我自己的錯誤處理,我的第一個想法是這樣的:如何在自己的錯誤處理函數中使用mysql_errno()?
// db connection
$conn = conn();
if(!$conn)
$aErrors[] = 'Fout: Geen database verbinding!';
function db_error($conn)
{
if(mysql_errno($conn) == 0)
return true;
else
{
// log! and global $aErrors[] = mysql_errno($conn)
return false;
}
}
$q = "SELECT
xusername, email
FROM
terra_user
WHERE
ID = '".$_GET['ID']."'
LIMIT 1";
$exec = mysql_query($q);
// error check
if(db_error($exec))
{
echo'teeeeeest!';
}
else
{
$aRow = mysql_fetch_assoc($exec);
$uitgever = $aRow['username'];
$uitgever_email = $aRow['email'];
echo'Xteeeeeest!';
}
,但我得到了一個錯誤:
Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in xxxx
在這種情況下,mysql_erro()
返回一個數> 0,所以它看起來不錯,除了鏈接源不正常?
如果我使用mysql_errno($conn)
我得到:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in xxxxxx
在這種情況下,mysql_erro()
返回0!
對於這段代碼,我用一個錯誤的名字改變了一個字段。把一個額外的x用戶名:) $_GET['ID']
已經測試ctype_digit($_GET['ID'])
我在做什麼錯在這裏?
這個功能究竟有什麼意義? –
我很懶,所以執行查詢後,我只需檢查dberror()是否返回true,如果爲false,它將處理記錄我的錯誤,發送郵件/短信。但這只是一個開始。當這部分工作時,我會擴展它。 – Terradon
可能的重複[Warning:mysql_fetch_ *期望參數1是資源,布爾給定錯誤](http://stackoverflow.com/questions/11674312/warning-mysql-fetch-expects-parameter-1-to-be-resource -boolean-given-error) –