mysqli-Abfrage in der WHILE-Schleife

1.) Kannst du ein nest msqli_query innerhalb einer while-Schleife?

2.) Wenn ja, warum sollte der PHP-unten schreibt keine Daten auf die precords Tabelle?

Wenn ich echo $array erstellen-variable es zeigt richtig, aber die mysqli insert schreibt nichts zu der Tabelle in der DB. Der code keinen Fehler aus und überall, so was bin ich über diese?

$data = mysqli_query($con,"SELECT * FROM Cart WHERE Buyer_ID='$_SESSION[cid]' AND Cart_Date='$_SESSION[cdate]'");
while($build = mysqli_fetch_array($data))
{ 
//echo $build[idex]."<br>";
mysqli_query($con,"INSERT INTO precords (precord,Buyer_ID,Account,Purchase_Date,Item_Number,Item_Qty,Item_Title,Item_FPrice,Item_FFLFlag,ccpass) VALUES ('$build[idex]','$build[Buyer_ID]','$build[Cart_Date]','$build[Item_Number]','$build[Item_Qty]','$build[Item_Title]','$build[Item_FPrice]','$build[Item_FFLFlag]','N')");
};

Vielen Dank für jede Hilfe.

** P. S. - Dieser code gemeint ist, bewegen Sie bestimmte Werte aus einer TEMPORÄREN Tabelle/session-Variablen, die über eine permanente Aufzeichnung Tabelle, aber die Schleife ist nötig, da es mehr als ein Produkt in den Warenkorb gelegt, verbunden mit den Nutzer/session.

Du kannst es ja machen, in einer Schleife, aber Sie brauchen nicht zu. Ihre INSERT nur verwendet Werte aus $build, so können Sie nur tun INSERT INTO precords SELECT col1,col2,col3... FROM Cart WHERE Buyer_ID=...
Es gibt viele Gründe, warum es scheitern kann, nicht zuletzt von denen ist die Tatsache, dass Sie nicht entkommen Werte in $build, die nicht "einfügen" -sicher, auch wenn Sie kamen aus der Datenbank. Sie hätte syntax-Fehler. Sie sollten überprüfen mysqli_error() um zu sehen, was falsch gelaufen ist, und schließlich betrachten den Wechsel zu prepared statements in MySQLi.

InformationsquelleAutor DMSJax | 2013-07-03

Schreibe einen Kommentar