Exécuter les instructions SQL directement et à partir d’un textarea

Résolu
cs_didine13
Messages postés
96
Date d'inscription
mardi 18 août 2009
Statut
Membre
Dernière intervention
14 août 2013
- 13 août 2010 à 23:34
syndrael
Messages postés
2378
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
- 15 août 2010 à 12:05
Bonjour,

Je suis bloqué pour exécuter les instructions SQL directement et à partir d'un textarea avec simple bouton submit

SQL:
INSERT DELAYED IGNORE INTO `jos_sections` VALUES(1000, 'Recettes', '', 'recettes', '', 'content', 'left', '', 1, 0, '2010-08-05 01:01:01', 6, 0, 57, '');


Voila mon code:
<form action="" method="post" name="form1">
<textarea name="text_all" rows="9" cols="100"></textarea>


</form>


<?php
if (isset($_POST['submit'])) {
$link = mysql_connect("localhost","root","");
$db_selected = mysql_select_db('didine_site', $link);


$var_text_all  = $_POST['text_all'];
$var_text_all = str_replace('\r\n','
',$var_text_all); 
$sql = $var_text_all;
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
  if($req)
  {
    echo("La modification à été correctement effectuée") ;
  }
  else
  {
    echo("La modification à échouée") ;
  }
mysql_close();
}
?>


Erreur SQL !
INSERT DELAYED IGNORE INTO `jos_content` VALUES(10000,\'Soupe de poisson\', \'Soupe de poisson\', \'\', \'


Pour des raisons personnelles je ne veux pas les importer à partir de mysql

Si vous pouvez m'aider SVP

6 réponses

cs_didine13
Messages postés
96
Date d'inscription
mardi 18 août 2009
Statut
Membre
Dernière intervention
14 août 2013

14 août 2010 à 17:25
re

Voila je viens de terminé la version mysqli mais même problème Je peux exécuter qu’une seule instruction, donc retour à la case dépare

<?PHP
?>
<form action="" method="post" name="form1">

<textarea name="text_all" rows="9" cols="100">
UPDATE jos_content SET title='toto3' WHERE id=10000;
UPDATE jos_content SET title='toto4' WHERE id=10001;
</textarea>,

</form>


<?php
if (isset($_POST['submit'])) {
$dbc=mysqli_connect('localhost','ak22_akim13','*****','ak2######');
$var_text_all=($_POST['text_all']);
$var_text_all = str_replace('\r\n','
',$var_text_all); 
$sql = stripslashes($var_text_all);

$query=$var_text_all;

$result = mysqli_query($dbc, $query) or die('Encore une Erreur de merde');
mysqli_close($dbc);

}
?>
3
cs_didine13
Messages postés
96
Date d'inscription
mardi 18 août 2009
Statut
Membre
Dernière intervention
14 août 2013

14 août 2010 à 13:20
Bonjour,

J'ai résolu le problème, mais la j'ai un autre problème quand j'exécuter une seule instruction SQL ca passe, mais je deux ou 10 ou plus Erreur


$sql =  stripslashes($var_text_all);


Deux ou plus ERREUR
UPDATE jos_content SET title ='toto2' WHERE id= 10000;


UPDATE jos_content SET title='toto2' WHERE id=10000;
UPDATE jos_content SET title='toto1' WHERE id=10001;


Erreur SQL !
UPDATE jos_content SET title ='toto2' WHERE id=10000; UPDATE jos_content SET title='toto1' WHERE id=10001;
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 jos_content SET title='toto1' WHERE id=10001' at line 2


Y a t-il un moyen de passer ce problème?
0
kohntark
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
14 août 2010 à 13:39
Salut,

N'hésite pas à expliquer comment tu as résolu ton premier souci, ça pourra peut être servir à d'autres.
Je n'ai que parcouru, mais avec la manière dont tu procèdes tu ne peux pas passer en une seule fois plusieurs requêtes.
Le plus simple serait de boucler sur les requêtes requêtes reçues du textarea, en faisant un explode ou un preg_split dessus par exemple.


Cordialement,


Kohntark -
0
cs_didine13
Messages postés
96
Date d'inscription
mardi 18 août 2009
Statut
Membre
Dernière intervention
14 août 2013

14 août 2010 à 13:47
Salut kohntark

J'ai resolut le probleme grace a stripslashes()
$sql = stripslashes($var_text_all);



Je sais qu'il faut un explode pour le ;
et une boucle
Mais je suis un super upper newbie dans PHP/MYSQL

Je vais continuer a me documenté, je vous tien au courant

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_didine13
Messages postés
96
Date d'inscription
mardi 18 août 2009
Statut
Membre
Dernière intervention
14 août 2013

14 août 2010 à 18:40
resolu
0
syndrael
Messages postés
2378
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
19
15 août 2010 à 12:05
si tu utilises mysqli tu as un 'query_multi' qui existe il me semble.
S.
0