2012-11-15 5 views
3

Je viens d'installer xampp mais j'ai un problème pour insérer des données dans la table MySQL. Les données que j'ai insérées n'apparaissent pas dans phpmyadmin. Je ne suis pas sûr de quel est le problème.insertion de données dans la table mysql

Toute aide sera grandement appréciée, voici mon code:

<html> 
<head> 
<title>Test</title> 
<body> 
<form action="test.php" method="post"> 
Firstname: <input type="text" name="firstname" /> 
Lastname: <input type="text" name="lastname" /> 
Age: <input type="text" name="age" /> 
<input type="submit"name="submit" value="submit"/> 
</form> 

<?php 
$host ="localhost"; 
$username = "***"; 
$password = "***"; 
$database = "***"; 
$table ="persons"; 
$con = mysql_connect("localhost","***","***"); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db("bucksbug_mesovot", $con); 

$sql="INSERT INTO persons (firstname, lastname, age) 
VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')"; 

    if (!mysql_query($sql,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 
    echo "Data inserted"; 

    mysql_close($con); 

    ?> 
    </body> 
    </html> 
+1

-vous obtenez des erreurs? - N'oubliez pas de vérifier si le formulaire est posté avant d'essayer d'ajouter quelque chose comme: if ($ _ SERVER ['REQUEST_METHOD'] == "POST") {} – Jacta

+1

Pourquoi utilisez-vous toujours mysql_ * quand il est devenu obsolète? –

+4

ARRETEZ de travailler sur ce code jusqu'à ce que vous ayez appris et appris à éviter [les attaques par injection SQL] (http://bobby-tables.com). sinon votre serveur va s'éteindre. Et vous voudrez probablement changer le mot de passe de votre base de données, puisque vous l'avez maintenant plaqué partout dans l'interwebitubes pour que tout le monde puisse le voir. –

Répondre

2

Bien que vous devriez vraiment passer à AOP/mysqli et les instructions préparées avec des paramètres liés à éviter l'injection sql et casser des instructions SQL si vos variables contiennent entre guillemets, vous rencontrerez probablement des problèmes avec PDO/mysqli: Votre mot de passe (change it!) contient un $.

Voir l'exemple suivant sur codepad:

<?php 

function test($var) 
{ 
    echo $var; 
} 

$test_var = "test$string"; 

test($test_var); 

Sortie:

test 

Vous ne serez pas en mesure de se connecter avec succès à la base de données en tant que votre mot de passe ne sera jamais correct.

Change:

"=c(p$zTTH2Jm" 

à:

'=c(p$zTTH2Jm' 
Questions connexes