Forum Clubic

Inserer dans une table variable des données - BDD mysql et PHP

Bonjour à tous, voilà mon problème, je dois entrer dans une table qui dépend d’un nom et d’un prénom des information mais je n’y arrive pas.
Le nom et le prenom forme une table (ex: durandpierre)
Voilà ce que j’ai fait mais ça ne marche pas. Quelqu’un peut-il m’aider? D’avance merci.

<?
//connexion à la base
$db = mysql_connect(‘localhost’,‘root’,’’) or die (‘erreur de connexion’);

//sélection de la base
mysql_select_db(‘fiche’,$db);

//J’identifie les variables
$nom = $_POST[“nompv”];
$prenom = $_POST[“prenompv”];
$champs1 = $_POST[“champs1”];
$champs2 = $_POST[“champs2”];
$champs3 = $_POST[“champs3”];
$champs4 = $_POST[“champs4”];

//J’envoie la requête d’insertion des données
$query = “INSERT INTO ($nom$prenom) VALUES (’$faits’,’$datefaits’,’$pv’,’$judex’)”;
mysql_query( $query ) or die(“echec”);

//Je récupère les données du formulaire
echo "Le nouveau fait concernant $prenom $nom, a bien été enregistré. ";

//on ferme la connexion
mysql_close();

Heu…

En général on fait pas une table par nom prénom, c’est dangereux.

Surtout dans ton cas où :

  1. pas de protection des variables POST, donc injection SQL potentielle. Cela veut dire que je peux si je viens sur ta page transformer ta requête en une requête de destruction de la base (facile).

Ce qu’il faut faire, c’est :

$nom = mysql_real_escape_string($_POST["nompv"]);

(etc)

  1. En général, on utilise des relations. Soit une table utilisateurs, avec comme champs id, nom, prénom.

En premier lieu tu vas chercher l’identifiant associé au nom prénom (SELECT), puis ajouter dans la seconde table avec l’identifiant (comme champ de table, et nom comme nom de table).

Ce qui donne un truc de ce genre :

utilisateurs (utilisateurs_id, nom, prenom)
pv(utilisateurs_id, faits, datefaits, pv, judex)

Ce qui évite ce bricolage que tu utilises.

Ok d’accord, merci bien pour ces informations.