Impossible d'écrire dans la BDD

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 : Impossible d'écrire dans la BDD

Re: Impossible d'écrire dans la BDD

par AB » 16 mai 2012, 17:49

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']).'")';

Re: Impossible d'écrire dans la BDD

par Ajàx » 16 mai 2012, 16:38

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

par moogli » 15 mai 2012, 23:28

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

@+

Impossible d'écrire dans la BDD

par Ajàx » 15 mai 2012, 22:03

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é ? :(