1.) Pouvez-vous imbriquer une requête msqli dans une boucle while? 2. Si oui, pourquoi le PHP ci-dessous n'écrirait-il pas de données dans la table des précords?Requête mysqli dans la boucle WHILE
Si je répercute une variable de tableau $ build, elle s'affiche correctement, mais l'insert mysqli n'écrit rien dans la table de la base de données. Le code ne fait pas d'erreurs, alors qu'est-ce qui me manque?
$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')");
};
Merci pour toute aide.
** P.S. - Ce code est destiné à déplacer certaines valeurs d'une variable TEMPORARY table/session, à une table d'enregistrement permanente, mais la boucle est nécessaire car il y a plus d'un produit dans le panier associé à l'utilisateur/session.
Oui, vous pouvez le faire dans une boucle, mais vous n'avez pas besoin. Votre 'INSERT' utilise uniquement les valeurs de' $ build', donc vous pouvez juste faire 'INSERT INTO precords SELECT col1, col2, col3 ... FROM Panier WHERE Buyer_ID = ...' –
Il y a beaucoup de raisons pour lesquelles cela peut échouer, Le fait que vous n'échappiez pas aux valeurs de '$ build', qui ne sont pas sûres d'insertion, même si elles proviennent de la base de données. Vous pourriez avoir des erreurs de syntaxe. Vous devriez vérifier 'mysqli_error()' pour voir ce qui n'a pas fonctionné, et finalement envisager de passer à des instructions préparées dans MySQLi. –