簡體   English   中英

查詢結果數組在循環中用於另一個查詢

[英]query result array in loop for another query

我為“user_id”查詢了數據庫表“users”。 並獲取一組 id。

$sel = "SELECT user_id FROM users WHERE status='Approved'";     
$result = @mysqli_query ($dbcon, $sel); 

然后我將所有這些用戶 ID 的值插入到另一個表收入中。

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) 
{
$ins = "INSERT INTO income (user_id, income_amount)  VALUES ('$row', '100')";       
$giv = @mysqli_query ($dbcon, $ins);
}

注意:第109行E:\\xampp\\htdocs\\project\\t.php中的數組到字符串的轉換

誰能幫我解決這個問題。

$sel = "SELECT user_id FROM users WHERE status='Approved'";     
$result = @mysqli_query ($dbcon, $sel); 

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) 
{
$ins = "INSERT INTO income (user_id, income_amount)  VALUES ('" . $row['user_id'] . "', '100')";       
$giv = @mysqli_query ($dbcon, $ins);
}

首先,檢查 $results 是否在數組中..你可以把一些錯誤處理檢查 is_array($result)。

如果沒問題,則將其傳遞給 mysqli_fetch_array()。 開發時不要添加抑制@錯誤。

我想建議你一個單一的查詢,以便之后你不需要使用 while 循環將你的數據插入到收入表中:

就試一試吧 :

INSERT INTO income (user_id,income_amount) SELECT user_id,'100' AS income_amount FROM users WHERE status = 'Approved';

你可以這樣使用它:

$sel = "INSERT INTO income (user_id,income_amount) SELECT user_id,'100' AS income_amount FROM users WHERE status = 'Approved'";     
$result = @mysqli_query ($dbcon, $sel); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM