CodeIgniter Select 列到变量中给出错误
CodeIgniter Select column into variable give error
我使用 codeigniter 上的交易获得此代码
$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
但使用returns没有错误
$this->db->query("SELECT @availableBalance := availableBalance FROM client WHERE clientID = @clientID");
任何人都可以解释为什么我在 codeigniter 上收到此错误
但是在 laravel
上使用代码时
SELECT availableBalance INTO @availableBalance FROM client WHERE clientID = @clientID
工作正常。
SELECT INTO 语句 selects data from one table and inserts it into a new table。您收到错误是因为查询 $this->db->query("SELECT availableBalance INTO @availableBalance FROM client WHERE clientID = @clientID");
的 SELECT 部分返回 false
,因此没有可插入 table @availableBalance
中的值.
请检查 client
table,因为 SQL 无法在 availableBalance
列中针对 clientID = @clientID
.[=17 找到任何值=]
$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 找不到,所以基本上它会抛出错误。
"SELECT @availableBalance := availableBalance FROM client WHERE clientID = @clientID";
- 这 运行 没问题,因为 @availableBalance 被用作存储 defined/set。
我创建了示例 sql 脚本来解释我的回答。希望能帮助到你!干杯!
我使用 codeigniter 上的交易获得此代码
$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
但使用returns没有错误
$this->db->query("SELECT @availableBalance := availableBalance FROM client WHERE clientID = @clientID");
任何人都可以解释为什么我在 codeigniter 上收到此错误
但是在 laravel
上使用代码时SELECT availableBalance INTO @availableBalance FROM client WHERE clientID = @clientID
工作正常。
SELECT INTO 语句 selects data from one table and inserts it into a new table。您收到错误是因为查询 $this->db->query("SELECT availableBalance INTO @availableBalance FROM client WHERE clientID = @clientID");
的 SELECT 部分返回 false
,因此没有可插入 table @availableBalance
中的值.
请检查 client
table,因为 SQL 无法在 availableBalance
列中针对 clientID = @clientID
.[=17 找到任何值=]
$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 找不到,所以基本上它会抛出错误。
"SELECT @availableBalance := availableBalance FROM client WHERE clientID = @clientID";
- 这 运行 没问题,因为 @availableBalance 被用作存储 defined/set。
我创建了示例 sql 脚本来解释我的回答。希望能帮助到你!干杯!