Page 1 sur 1

Impossible d'écrire dans la BDD

Posté : 15 mai 2012, 22:03
par Ajàx
Bonjour !
J'aurais un petit souci que je n'arrive pas à résoudre. Je suis débutant en PHP et je voudrais écrire dans la base de donnée mais je n'y arrive pas je ne comprend pas.
J'ai un script pour me connecté au serveur et selectionner la base de donnée tout çà marche mais quand je veux écrire dedans avec ce code là

if(isset($_POST['bouton']))
{
$sql = 'INSERT INTO exemple SET test = "1234"';
}

j'ai essayé avec un autre code pour écrire (SdZero) dans la bdd et ca marche parfaitement. Alors je ne comprend pas pourquoi avec "$sql" ça ne fonctionne pas, où est mon erreur, qu'ai-je oublié ? :(

Re: Impossible d'écrire dans la BDD

Posté : 15 mai 2012, 23:28
par moogli
salut,


$sql est une chaine de caractère il faut l'utiliser sinon ben c'est comme regarder un violon et dire je comprend pas j'entend rien :)

un cours sur la chose http://www.lephpfacile.com/cours/14-ins ... votre-base

@+

Re: Impossible d'écrire dans la BDD

Posté : 16 mai 2012, 16:38
par Ajàx
J'étais persuadé qu'il me manquait quelque chose dans ce genre là. Merci beaucoup d'avoir éclairé ma lanterne, j'aurais sans doute dû chercher un peu plus :x désolé

Re: Impossible d'écrire dans la BDD

Posté : 16 mai 2012, 17:49
par AB
Il y a un oubli dans le code du lien que t'a donné moogli

Il faut toujours utiliser mysql_real_escape_string quand on utilise des données provenant de l'extérieur (par exemple $_POST ou $_GET) car elles peuvent contenir du code dangereux.

Les requêtes du dernier exemple du lien devraient donc ressembler à ceci :
$sql = 'SELECT numero FROM liste_proprietaire WHERE nom = "'.mysql_real_escape_string($_POST['proprio']).'"';
//...
$sql = 'INSERT INTO liste_disque VALUES("'.$data['numero'].'", "'.mysql_real_escape_string($_POST['interprete']).'", "'.mysql_real_escape_string($_POST['titre']).'")';