gpt4 book ai didi

php - Yii2 调试 mysql 查询或等效的 mysql_error

转载 作者:行者123 更新时间:2023-11-29 02:23:06 25 4
gpt4 key购买 nike

我在 common/models 中有一个名为 ValuesHelper 的模型助手,代码片段如下:

 <?php
namespace common\models;
class ValueHelpers
{
/**
* return the value of status by the its name string
* example: 'Active'
* @param string $status_name
*/
public static function getStatusValue($sta8tus_name)
{
$connection = \Yii::$app->db;
$sql = "SELECT id FROM status WHERE status_name=:status_name";
$command = $connection->createCommand($sql);
$command->bindValue(':status_name', $status_name);
// the issue in the next line
$result = $command->queryOne() or die($connection->getFirstError()."error");
return $result['id'];
}
}

我不知道如何在 or die() 子句中实现 like mysql_error()。我尝试了 or die ($command->getFirstError()) 但它也失败了。顺便说一句,我故意设置了错误的参数名称 $sta8tus 来格式化用于创建错误的环境。

最佳答案

为什么不查看日志而不是在那里掷骰子呢?

另请看这里:http://www.yiiframework.com/doc-2.0/yii-db-command.html#queryOne()-detail如果命令有问题,则会抛出异常。您必须捕获该异常并使用它,这是最佳实践。

那么做一个

try {
$result = $command->queryOne();
} catch (yii\db\Exception $e) {
do your stuff here
}

关于php - Yii2 调试 mysql 查询或等效的 mysql_error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28071156/

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