Bonjour,
Ici :
while($r[] = mysql_fetch_assoc($sql3));
Cette ligne va créer un tableau $r contenant un tableau (un enregistrement de la requête $sql3, je pense que tu voulais faire :
while($r = mysql_fetch_assoc($sql3));
Dans ce cas $r est un tableau associatif de toutes les colonnes demandées dans la requête $sql3.
Ensuite,
l'erreur affiché ici :
$sql5 = mysql_query("update ps_product_lang set name = '".$key."' where id_product = '$r'");
signifie que tu essaye d'assigner un tableau à une colonne ce qui n'est pas faisable, il faut que tu donne un alias à la colonne LAST_INSERT_ID dans la requête $sql3 pour ensuite pouvoir l'utiliser dans la requête en dessous, ce qui donne :
1 2 3 4 5
| FUNCTION modifier_produit_prestashop($key){
$sql3 = mysql_query("SELECT LAST_INSERT_ID( id_product ) lastId FROM ps_product LIMIT 8");
while($r = mysql_fetch_assoc($sql3));
$sql5 = mysql_query("update ps_product_lang set name = '".$key."' where id_product = '" . $r['lastId'] . "'");
} |
Mais sache que cette fonction va mettre à jour la colonne name des 8 dernière enregistrement avec la valeur reçus en paramètre.
Partager