Bon... on va reprendre le cours sur les chaines et la concaténation
Ta requête SQL, c'est une chaine de caractères que tu envois à MySQL pour qu'il puisse l'exécuter (et si la syntaxe est correcte, ça peut même avoir des effets sympa

)
Ton objectif, est donc de construire la chaine que tu vas transmettre à MySQL. Pour cela, tu saisir directement une chaine de caractère. Ou éventuellement deux chaines de caractères que tu vas concaténer avec l'opérateur " . " (point). Ou encore un chaine que tu vas concaténer avec une variable ... bref, plein de combinaisons possibles. Cependant une variable, c'est une variable, et une chaine, c'est une chaine. Si tu délimites ta chaines n'importe comment, php sera incapable de savoir où elle commence, où elle s'arrête, ou comment il doit l'interpréter.
Donc commençons par la requête que tu veux exécuter :
INSERT INTO membre VALUES('monLogin', md5('monMotDePasse'), NOW())
On va la transformer en chaine php, pour ça, c'est simple, on colle des guillemets ou des apostrophes autour.
// avec des guillemets
$sql = " INSERT INTO membre VALUES('monLogin', md5('monMotDePasse'), NOW()) ";
// avec des apostrophes (attention, comme notre chaine contient déjà des apostrophes, il faut les protéger : \' )
$sql = ' INSERT INTO membre VALUES(\'monLogin\', md5(\'monMotDePasse\'), NOW()) ';
On va rester sur la version avec guillemets qui est plus facilement lisible et on va diviser la chaine en plusieurs sous chaines que l'on concatène pour obtenir le même résultat :
$sql = " INSERT INTO membre VALUES('" . "monLogin" . "', md5('" . "monMotDePasse" . "'), NOW()) ";
Maintenant il ne nous reste plus qu'à remplacer les chaines que l'on veut par des variables qui contiendront les valeurs que l'on attend :
$sql = " INSERT INTO membre VALUES('" . $_POST['login'] . "', md5('" . $_POST['pass_md5'] . "'), NOW()) ";
Bon... on va reprendre le cours sur les chaines et la concaténation :)
Ta requête SQL, c'est une chaine de caractères que tu envois à MySQL pour qu'il puisse l'exécuter (et si la syntaxe est correcte, ça peut même avoir des effets sympa ;))
Ton objectif, est donc de construire la chaine que tu vas transmettre à MySQL. Pour cela, tu saisir directement une chaine de caractère. Ou éventuellement deux chaines de caractères que tu vas concaténer avec l'opérateur " . " (point). Ou encore un chaine que tu vas concaténer avec une variable ... bref, plein de combinaisons possibles. Cependant une variable, c'est une variable, et une chaine, c'est une chaine. Si tu délimites ta chaines n'importe comment, php sera incapable de savoir où elle commence, où elle s'arrête, ou comment il doit l'interpréter.
Donc commençons par la requête que tu veux exécuter :
[sql]INSERT INTO membre VALUES('monLogin', md5('monMotDePasse'), NOW())[/sql]
On va la transformer en chaine php, pour ça, c'est simple, on colle des guillemets ou des apostrophes autour.
[php]// avec des guillemets
$sql = " INSERT INTO membre VALUES('monLogin', md5('monMotDePasse'), NOW()) ";
// avec des apostrophes (attention, comme notre chaine contient déjà des apostrophes, il faut les protéger : \' )
$sql = ' INSERT INTO membre VALUES(\'monLogin\', md5(\'monMotDePasse\'), NOW()) ';[/php]
On va rester sur la version avec guillemets qui est plus facilement lisible et on va diviser la chaine en plusieurs sous chaines que l'on concatène pour obtenir le même résultat :
[php]$sql = " INSERT INTO membre VALUES('" . "monLogin" . "', md5('" . "monMotDePasse" . "'), NOW()) ";[/php]
Maintenant il ne nous reste plus qu'à remplacer les chaines que l'on veut par des variables qui contiendront les valeurs que l'on attend :
[php]$sql = " INSERT INTO membre VALUES('" . $_POST['login'] . "', md5('" . $_POST['pass_md5'] . "'), NOW()) ";[/php]