Probleme de concentenation

glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   -  
glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

un problème de concatenation

     $sql = 'SELECT count(*) as nb FROM agent WHERE nom ="'.mysql_escape_string($_POST['nom']).'"' && 'prenom ="'.mysql_escape_string($_POST['prenom']).'"'';


erreur

Parse error: parse error in C:\wamp\www\internetService\modifierAgent.php on line 18



4 réponses

NDOUKI Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   12
 
bonjour,
les deux quottes viennent après une quotte

essaye ceci:

$sql = "SELECT count(*) as nb FROM agent WHERE nom =' ".mysql_escape_string($_POST['nom'])." ' AND prenom =' ".mysql_escape_string($_POST['prenom'])." ' '';

Courage
1
glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   9
 
Merci NDOUKI
mais en voilà une autre
Parse error: parse error, expecting 'T_STRING' or 'T_VARIABLE' or 'T_NUM_STRING' in C:\wamp\www\internetService\modifierAgent.php on line 21

  if ($data['nb'] == 0) {  
     
             $sql = 'UPDATE 'agent' SET ('id', 'nom', 'prenom','privilege','email', 'telephone', 'fonction_tech', 'update_date')  VALUES(NULL, "'.mysql_escape_string($_POST['nom']).'","'.mysql_escape_string($_POST['prenom']).'", "'.mysql_escape_string($_POST['privilege']).'", "'.mysql_escape_string($_POST['email']).'","'.mysql_escape_string($_POST['telephone']).'", "'.mysql_escape_string($_POST['fonction_tech']).'","'.update_date('Y-m-d h:i:s').'")';  
                mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());  
}
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Bonjour,
Il suffit de mettre des doubles quotes pour englober le tout.
 if ($data['nb'] == 0) {  
     
             $sql = "UPDATE 'agent' SET ('id', 'nom', 'prenom','privilege','email', 'telephone', 'fonction_tech', 'update_date')  VALUES(NULL, "'.mysql_escape_string($_POST['nom']).'","'.mysql_escape_string($_POST['prenom']).'", "'.mysql_escape_string($_POST['privilege']).'", "'.mysql_escape_string($_POST['email']).'","'.mysql_escape_string($_POST['telephone']).'", "'.mysql_escape_string($_POST['fonction_tech']).'","'.update_date('Y-m-d h:i:s').'")";  
                mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());  
}
0
glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   9
 
Melooo tout est fait mais il y a maintenant une erreur sql sais-tu de quoi il s'agit ici ?

Erreur SQL !
1
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 '1' at line 1
0
glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   9
 
Voici la fonction sql que j'ai utilisé pour faire le updat d'une table
 $sql = 'UPDATE 'agent' SET ('id', 'nom', 'prenom','privilege','email', 'telephone', 'fonction_tech', 'update_date')  WHERE (NULL, "'.mysql_escape_string($_POST['nom']).'","'.mysql_escape_string($_POST['prenom']).'", "'.mysql_escape_string($_POST['privilege']).'", "'.mysql_escape_string($_POST['email']).'","'.mysql_escape_string($_POST['telephone']).'", "'.mysql_escape_string($_POST['fonction_tech']).'","'.update_date('Y-m-d h:i:s').'")'; 
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Si ton ID est en auto increment pas la peine de le mettre dans ton update.
Et je pense que tu peux enlever les simples quote autour du nom de la table.
Ensuite tu as inverser les quotes, ca sera plutôt sa :
'".mysql_escape_string($_POST['prenom']).'"
0
NDOUKI Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   12
 
slt,
c'est çà!!
tu ne dois pas update un auto-incrément et je te l'ai dis vérifie toujours tes quotes car le double quote vient apres les une quotes.
fait gaffe
0
glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   9
 
Problème de concaténation quelqu'un peut t-il m'aider ?

$query = "SELECT 'volume' FROM 'service_provider' WHERE service = ''.$data['service']'.'";
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Depuis le temps que tu postes içi, tu aurais pu faire un effort et regarder 2 petites secondes ton code, et voir que tes simples et doubles quotes, sont très mal ouverte.
0
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
Personnellement j'utilise cette notation:

$sql = sprintf("SELECT count(*) as nb FROM agent WHERE nom ='%s' AND prenom='%s'",
mysql_real_escape_string($_POST['nom']),
mysql_real_escape_string($_POST['prenom']),
);


Beaucoup plus lisible et simple à débugger à mon goût.
0
glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   9
 
Merci mais j'ai un autre problème de concaténation avec ça :

$sql = sprintf("SELECT count(*) as nb FROM agent WHERE nom ='%s' AND prenom='%s'",
mysql_real_escape_string($_POST['nom']),
mysql_real_escape_string($_POST['prenom']),
);
0