好的,我正在做的是從一個表中獲取成員id,並通過另一個表循環這些ID來獲取輸出值。我讓它通過第一個循環工作,然後注意到輸出全部是扭曲的,所以釋放我需要再次循環它,因爲在MemID的第二個查詢中可能會有多個條目。現在我把第二個循環,但它甚至沒有經過,不知道我弄亂了代碼,但現在似乎不通過第二循環運行時輸出。儘管它沒有輸出循環。但是由於每個$ memid都有多行,這樣做不起作用。在一個循環內部運行一個查詢來完成另一個循環
$qry_skamembers = "SELECT * FROM ap_skamembers ORDER BY id";
$qry_skamembers = $mysqli->real_escape_string($qry_skamembers);
if($result_skamembers = $mysqli->query($qry_skamembers)){
while($row_skamembers = $result_skamembers->fetch_array()){
$AffID = $row_skamembers['AffID'];
$MemID = $row_skamembers['MemberID'];
$skacon = new mysqli(OW_DB_HOST, OW_DB_USER, OW_DB_PASSWORD, OW_DB_NAME);
if ($skacon->connect_error) {
die('Connect Error');
}
$get_data = "SELECT * FROM ow_base_billing_sale WHERE userID = $MemID AND status = 'delivered' ORDER BY id";
$get_data = $skacon->real_escape_string($get_data);
if($result_data = $skacon->query($get_data)){
while($finish = $result_data->fetch_array()){
$test = $finish['status'];
if($test == 'delivered') {
$sale_amount = $finish['price'];
$product = $finish['transactionUId'];
$products = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT * FROM ap_earnings where product = $product"));
if(mysqli_num_rows($products) > 0) { }
else {
echo "AFF: " . $AffID . " | ";
echo "Mem: " . $MemID . " | ";
echo "PRICE: " . $sale_amount . " | ";
echo "PRODUCT: " . $product . " -- ";
include('controller/record-sale.php');
echo "inserting record";
echo "run finished <br><br>";
}
}
}
}
}
}
我在編碼方面還是比較新的,所以看起來有點草率,我對此表示歉意。
瞭解準備satements防止SQL注入 – Jens
不要逃避完整的SQL刺痛。 – Jens
什麼問題是在你的第二個查詢中,你沒有把變量'$ MemID'的值放在文本''MemID'中。 Jens說過的話,學習準備好的陳述,這也能解決你的問題。 '「SELECT * FROM ow_base_billing_sale WHERE userID =」。 $ MemID。 「AND status ='deliver'ORDER BY id」;' – Teun