Page 1 sur 1

Foreach petit problème

Posté : 18 nov. 2014, 11:32
par Anthony88
Bonjour à tous,

j'ai un petit problème avec ma boucle pour réaliser mon update sur ma base de donnée. Je vous mets le code ci dessous avec un echo de la requète. Quand je lance la boucle il n'y a aucun message d'erreur cependant dans ma base de donnée les données ne sont pas changé. Je ne trouve pas pouvez vous m'aider SVP.

Code : Tout sélectionner

foreach ($tableau as $id => $name) { $r5 = "UPDATE details SET name = '".$name."' WHERE idart = '".$id."'; "; /*echo $r5;*/ $r55 = mssql_query($r5) or die('Erreur SQL !'.$r5.'<br>'.mysql_error()); }
Voici les echos que j'ai fait mes requètes sont bonnes avec les bons choix que j'ai fait dans mon formulaire :
UPDATE details SET name = '1' WHERE idart = '16'; UPDATE details SET name = '2' WHERE idart = '17';
j'ai essayé aussi cette écriture mais ça ne change rien
UPDATE details SET name = '1' WHERE idart = '16' UPDATE details SET name = '2' WHERE artidart det = '17'
Merci d'avance à tous

Re: Foreach petit problème

Posté : 18 nov. 2014, 11:36
par Invité
j'ai foiré le copié/coller
UPDATE details SET name = '1' WHERE idart = '16' UPDATE details SET name = '2' WHERE idart det = '17'

Re: Foreach petit problème

Posté : 18 nov. 2014, 11:37
par Invité
j'ai foiré le copié/coller
UPDATE details SET name = '1' WHERE idart = '16' UPDATE details SET name = '2' WHERE idart= '17'

Re: Foreach petit problème

Posté : 18 nov. 2014, 11:53
par sirakawa
Teste le copier/coller dans phpmyadmin ou equivalent et envoie la reponse.

Re: Foreach petit problème

Posté : 18 nov. 2014, 12:04
par Invité
pour le premier
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE details SET name = '2' WHERE idart= '17'' at line 1
pour le deuxième ça marche sur phpmyadmin :o mais pas avec mon php
UPDATE details SET name = '1' WHERE idart = '16'; UPDATE details SET name = '2' WHERE idart= '17'; 

Re: Foreach petit problème

Posté : 18 nov. 2014, 12:20
par Invité
A la ligne

Code : Tout sélectionner

$r55 = mssql_query($r5) or die('Erreur SQL !'.$r5.'<br>'.mysql_error()); il fallait mettre simplement $r55 = mysql_query($r5) or die('Erreur SQL !'.$r5.'<br>'.mysql_error());

Re: Foreach petit problème

Posté : 18 nov. 2014, 12:29
par sirakawa
foreach ($tableau as $id => $name)
{
$r5 = "UPDATE details
SET name = '".$name."'
WHERE idart = '".$id."'; ";
print "<br>$r5"; //pour avoir une requete à la fois
$r55 = mssql_query($r5) or die('Erreur SQL !'.$r5.'<br>'.mysql_error());
}