Requete sql avec php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requete sql avec php

par ce__l » 18 sept. 2008, 13:15

Hello
La solution de Carouge fonctionne parfaitement, il me reste plus qu'a comprendre cmment et pourquoi...
Merci tous les 2 d'avoir réflechi sur mon problème.

par caroube » 18 sept. 2008, 12:31

1. Toujours extraire les variables des chaînes (aide-toi de la coloration syntaxique)

2. Une variable placée entre deux apostrophes ne sera pas interprêtée

3. Différencier les noms des requêtes

4. date est un nom réservé (mieux vaut utiliser $date1, par exemple)
1. Pas forcément.
2. Bien sûr que si si la chaîne est -comme là- placée entre double quotes
3. Si elles sont préparées d'abord, et exécutée ensuite. Sinon pas forcément
4. date oui. Mais $date n'est pas un nom réservé

Pour en revenir au problème, si tu veux que les deux requêtes s'exécutent
$sql = "INSERT INTO test (nom_test, pays_test, date_debut, date_fin) 
VALUES ('$nom','$pays_test','$date','$date2')" ;  
$requete = mysql_query($sql, $connect) or die( mysql_error() ) ;

$sql = "INSERT INTO model (nom_model, images) VALUES ('$nom_model1','$image_model1')";  
$requete = mysql_query($sql, $connect) or die( mysql_error() ) ;

Enfin, pour voir ce qui cloche, fais des echo $sql que tu copieras/colleras dans phpmyadmin.
Et pense à gérer la présence d'apostrophes dans les chaînes de caractères.

par phoeniix07 » 18 sept. 2008, 12:26

tu ne peut envoyer qu'une seule requette avec mysql_query

essaye un truc du genre

Code : Tout sélectionner

$requete = mysql_query($sql_01, $connect) or die( mysql_error() ) ; $requete2 = mysql_query($sql_02, $connect) or die( mysql_error() ) ;
si j'ai bien compris ce que tu voulait faire

par Invité » 18 sept. 2008, 12:07

Hello,
Merci de ta réponse,

J'ai l'erreur :

Warning: Wrong parameter count for mysql_query() in C:\Program Files\EasyPHP 2.0b1\www\test Provea1\admin\admin_test2.php on line 371

Qu'est ce que j'ai fait faux :
$requete = mysql_query($sql_01, $sql_02, $connect) or die( mysql_error() ) ;
ce_l

par albat » 18 sept. 2008, 11:43

  1. Toujours extraire les variables des chaînes (aide-toi de la coloration syntaxique)
  2. Une variable placée entre deux apostrophes ne sera pas interprêtée
  3. Différencier les noms des requêtes
  4. date est un nom réservé (mieux vaut utiliser $date1, par exemple)
Try this :
$sql_01 = "INSERT INTO test (nom_test, pays_test, date_debut, date_fin)
           VALUES ('".$nom."','".$pays_test."','".$date1."','".$date2."')" ; 

$sql_02 = "INSERT INTO model (nom_model, images)
           VALUES ('".$nom_model1."','".$image_model1."')";

Requete sql avec php

par ce__l » 18 sept. 2008, 11:31

Bonjour,
Je rame avec l'insertion de variables dans plusieurs tables. Soit j'ai une erreur soit je n'ai qu'une insertion sur les deux tables.

Voici mon code:
$sql = "INSERT INTO test (nom_test, pays_test, date_debut, date_fin)
VALUES ('$nom','$pays_test','$date','$date2')" ; 

$sql = "INSERT INTO model (nom_model, images) VALUES ('$nom_model1','$image_model1')"; 

$requete = mysql_query($sql, $connect) or die( mysql_error() ) ;
Merci de votre aide
ce_l