gpt4 book ai didi

php - 如何在自己的错误处理函数中使用 mysql_errno() ?

转载 作者:行者123 更新时间:2023-11-29 14:40:17 25 4
gpt4 key购买 nike

我想使用自己的错误处理,我的第一个想法是:

// 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'])

进行测试

我在这里做错了什么?

最佳答案

我认为这样的函数没有任何意义。你有 $exec 来“处理”错误,这就足够了。

// db connection
$conn = conn();
if(!$conn) {
$aErrors[] = 'Fout: Geen database verbinding!';
}

$q = "SELECT xusername, email FROM terra_user WHERE ID = ".(int)$_GET['ID']." LIMIT 1";
$exec = mysql_query($q) or trigger_error(mysql_error());

// error check
if(!$exec))
{
$aErrors[] = 'Fout: Geen database verbinding!';
}
else
{
$aRow = mysql_fetch_assoc($exec);
$uitgever = $aRow['username'];
$uitgever_email = $aRow['email'];
echo'Xteeeeeest!';
}

虽然我认为将错误收集到数组中没有意义。如果是严重错误,则无需等待另一个错误 - 只需一个就足够了。如果这不是严重错误 - 为什么要用它来打扰用户?

关于php - 如何在自己的错误处理函数中使用 mysql_errno() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8127671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com