Im essayant d'insérer des données dans une table dans MySQL. J'ai trouvé/modifié du code de w3Schools et je n'arrivais toujours pas à le faire fonctionner. Voici ce que j'ai pour le moment:PHP MySQL Insérer des données
<?php
$rusername=$_POST['username'];
$rname=$_POST['name'];
$remail=$_POST['emailadr'];
$rpassword=$_POST['pass'];
$rconfirmpassword=$_POST['cpass'];
if ($rpassword==$rconfirmpassword) {
$con = mysql_connect("host","user","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydbname ", $con);
}
mysql_query("INSERT INTO members (id, username, password)
VALUES ('4', $rusername, $rpassword)");
?>
Ai-je commis une erreur? À ma compréhension "membres" est le nom de la table. Si quelqu'un sait ce qui ne va pas, j'apprécie l'aide.
Merci
Pourquoi ajoutez-vous 4 comme identifiant? Mettez simplement 'id' comme auto-incrémenté et vous n'aurez plus à le faire. En outre, id doit être un nombre entier, donc pas besoin d'utiliser des guillemets – nico
Il s'agit d'une vulnérabilité d'injection SQL. Veuillez utiliser des requêtes paramétrées (voir PHP docs pour PDO: http://php.net/pdo), ou à tout le moins escape input avec une fonction comme mysql_real_escape_string. – eyelidlessness
Je viens de mettre 4 pour le tester. Maintenant, il génère un nombre aléatoire. Et oui, j'ai entendu parler de l'injection SQL et j'utilise mysql_real_escape_string pour la connexion. Je ne l'ai pas encore ajouté au compte de création. – nosedive25