我在代码点火器上使用了一个事务处理代码
$this->db->trans_begin();
$this->db->query("SET @clientID = {$client_id}, @amount = {$amount}, @gameID = {$game_id}, @tableID = {$table_id}, @tableName = '{$table_name}', @usedBalanceID = NULL");
$this->db->query("SELECT availableBalance INTO @availableBalance FROM client WHERE clientID = @clientID");SELECT availableBalance INTO @availableBalance给出了一个错误:
Severity: Warning --> mysqli_num_rows() expects parameter 1 to be mysqli_result;
system\database\drivers\mysqli\mysqli_result.php 37但是使用返回没有错误
$this->db->query("SELECT @availableBalance := availableBalance FROM client WHERE clientID = @clientID");有人能解释一下为什么我在代码点火器上出现了这个错误吗?
但是当在laravel上使用代码时
SELECT availableBalance INTO @availableBalance FROM client WHERE clientID = @clientID工作得很好。
发布于 2015-02-26 01:34:25
$this->db->trans_begin();
$this->db->query("SET @clientID = {$client_id}, @amount = {$amount}, @gameID = {$game_id}, @tableID = {$table_id}, @tableName = '{$table_name}', @usedBalanceID = NULL");
$this->db->query("SELECT availableBalance INTO @availableBalance FROM client WHERE clientID = @clientID");“从客户端选择@availableBalance := availableBalance,其中clientID = @clientID";
我创建了一个示例sql脚本来解释我的答案。希望能帮上忙!干杯!
发布于 2015-02-23 14:33:29
SELECT到语句从一个表中选择数据并将其插入到新表中。。您正在获取错误,因为查询$this->db->query("SELECT availableBalance INTO @availableBalance FROM client WHERE clientID = @clientID");的SELECT部分正在返回false,因此无法在表@availableBalance中插入任何值。
请检查client表,因为clientID = @clientID无法在列availableBalance中找到任何值。
https://stackoverflow.com/questions/28668558
复制相似问题