Modérateur PHPfrance |
2575 Messages
13 juil. 2011, 11:08
Bonjour, tu as une erreur de syntaxe. Voici la correction:
$sql = "SELECT * FROM table_name WHERE dossard = '" . $_POST['dossard'] . "' or nom = '" . $_POST['nom'] . "'; ";
ça s'appelle la concaténation en PHP avec l'opérateur POINT (.) pour coller des chaines de caractères et des variables.
Il y a une autre façon sous PHP pour inclure des variables dans une chaine de caractère sans utiliser l'opérateur de concaténation (.) c'est en utilisant la fonction
sprintf() comme ça:
$sql = sprintf("SELECT * FROM table_name WHERE dossard = '%s' or nom = '%s';" , $_POST['dossard'], $_POST['nom']);
Ici, la chaine SQL est écrite complètement avec des emplacement réservés aux variables par le symbole %s (qui veut dire : variable string ou texte)
le deuxième paramètre de la fonction sprintf() est la liste des variables à insérer dans la chaine donnée en premier selon l'ordre des symboles %s (pour un texte) ou %d (pour un numérique) dans notre cas on a listé les variables $_POST['dossard'], $_POST['nom'] respectivement.
Et tout ça n'a rien à voir ni avec Mac ni avec SQL. C'est de la pure programmation sous PHP.
--------
//////----
//---
//----
//////
-------
//---
//----
//---
//----
//---
//
------
//////----
//////-----
//////
-----
||--------
||--
||---
||
Prendre le recul n'est pas une perte de temps.
ps:
Affrontez moi dans l'arène