通过查询构建器更新不起作用
Updating via query builder in is not working
我尝试使用 sql 命令更新列值,但它显示一般性失败。以下是我的更新代码:
$name = 'ABC';
$id = 2;
$command = Yii::$app->db->createCommand()
->update('companies', ['company_name' => $name], 'company_id ='.$id.'');
$result = $command->queryAll();
当我执行此代码时,会向我显示以下消息。
SQLSTATE[HY000]: General error
The SQL being executed was: UPDATE companies
SET company_name
='ABC' WHERE company_id =2
Error Info: Array
(
[0] => HY000
)
我不知道为什么。有人知道我在这里做错了什么吗?
UPD
$command = Yii::$app->db->createCommand()
->update('companies', ['company_name' => $name], 'company_id ='.$id.'')->execute();
无法将 $command->queryAll()
与更新命令一起使用。
您的代码中有几个错误。
首先,为什么要使用 queryAll()
和 UPDATE
操作?删除此行:
$result = $command->queryAll();
第二个错误 - 缺少对 execute()
命令的调用。应该是:
$command = Yii::$app->db
->createCommand()
->update('companies', ['company_name' => $name], 'company_id ='.$id.'')
->execute();
查看 yii\db\Command, especially execute() and queryAll() 方法的文档。
我尝试使用 sql 命令更新列值,但它显示一般性失败。以下是我的更新代码:
$name = 'ABC';
$id = 2;
$command = Yii::$app->db->createCommand()
->update('companies', ['company_name' => $name], 'company_id ='.$id.'');
$result = $command->queryAll();
当我执行此代码时,会向我显示以下消息。
SQLSTATE[HY000]: General error The SQL being executed was: UPDATE
companies
SETcompany_name
='ABC' WHERE company_id =2Error Info: Array ( [0] => HY000 )
我不知道为什么。有人知道我在这里做错了什么吗?
UPD
$command = Yii::$app->db->createCommand()
->update('companies', ['company_name' => $name], 'company_id ='.$id.'')->execute();
无法将 $command->queryAll()
与更新命令一起使用。
您的代码中有几个错误。
首先,为什么要使用 queryAll()
和 UPDATE
操作?删除此行:
$result = $command->queryAll();
第二个错误 - 缺少对 execute()
命令的调用。应该是:
$command = Yii::$app->db
->createCommand()
->update('companies', ['company_name' => $name], 'company_id ='.$id.'')
->execute();
查看 yii\db\Command, especially execute() and queryAll() 方法的文档。