Edit MYSQL Ligne en PHP formulaire
J'ai fait ça avant, et pour une raison que je ne peux pas le faire fonctionner cette fois-ci!
Je suis en tirant mes cheveux au cours de cette! Car il n'y a pas d'erreurs, c'est juste l'habitude de mettre à jour la base de données.
Fondamentalement, j'Ai une Table avec les données sur les étudiants dans les....
ID | IMGNU | Prénom | Nom | FBID
Nous allons utiliser la ligne 233 pour un exemple.
Je peux afficher une ligne spécifique en allant à vue.le php?ID=233
Alors ça marche, mais maintenant, je veux être en mesure d'aller à modifier.le php?ID=233
et il doit charger un formulaire, qui dispose déjà de l'info à partir de la ligne 233.
Je dois être en mesure de modifier les données dans les champs et soumettez le formulaire,
pour changer les informations dans la base de données.
Voici ce que j'ai déjà.
edit.php
<?php
mysql_connect('localhost', 'admin', 'passw0rd') or die(mysql_error());
echo "Tick <p>";
mysql_select_db("students") or die(mysql_error());
echo "Tick";
$UID = $_GET['ID'];
$query = mysql_query("SELECT * FROM stokesley_students WHERE id = '$UID'")
or die(mysql_error());
while($row = mysql_fetch_array($query)) {
echo "";
$firstname = $row['firstname'];
$surname = $row['surname'];
$FBID = $row['FBID'];
$IMGNU = $row['IMGNU'];
};
?>
<form action="update.php?ID=<?php echo "$UID" ?>" method="post">
IMGNU: <input type="text" name="ud_img" value="<?php echo "$IMGNU" ?>"><br>
First Name: <input type="text" name="ud_firstname" value="<?php echo "$firstname" ?>"><br>
Last Name: <input type="text" name="ud_surname" value="<?php echo "$surname" ?>"><br>
FB: <input type="text" name="ud_FBID" value="<?php echo "$FBID" ?>"><br>
<input type="Submit">
</form>
Et c'est ici update.php
<
?php
$ud_ID = $_GET["ID"];
$ud_firstname = $_POST["ud_firstname"];
$ud_surname = $_POST["ud_surname"];
$ud_FBID = $_POST["ud_FBID"];
$ud_IMG = $_POST["ud_IMG"];
mysql_connect('localhost', 'admin', 'passw0rd') or die(mysql_error());
echo "MySQL Connection Established! <br>";
mysql_select_db("students") or die(mysql_error());
echo "Database Found! <br>";
$query="UPDATE * stokesley_students SET firstname = '$ud_firstname', surname = '$ud_surname',
FBID = '$ud_FBID' WHERE ID ='$ud_IMG'";
mysql_query($query);
echo "<p>Record Updated<p>";
mysql_close();
?>
Toutes les idées seraient très appréciés, maby im manque juste quelque chose de stupide?
Merci
Alex
- n'oubliez pas de fixer les injections sql!
Vous devez vous connecter pour publier un commentaire.
edit.php - avec quelques modifications
update.php (en dehors de l'astérisque, Votre requête a également été correspondant
ID
avec le$ud_IMG
variable)Que la requête est mal, de supprimer l'astérisque. Aussi, vous ne savez pas si il y a une erreur parce que vous ne vérifiez pas le type de retour de
mysql_query
ou de l'utilisationmysql_error
.La requête de mise à jour est mauvais. Vous avez besoin de lui dire quelle table, alors quels domaines. L'astérisque est utilisé uniquement sur les instructions select.
Également qu'il serait utile si vous avez vérifié pour savoir si ou non la requête a été un succès. Jetez un oeil ci-dessous. J'ai réécrit votre code un peu. J'ai aussi autorisé pour le code à venir de la POSTE ou de l'utilisation de la DEMANDE. Et j'ai enlevé le mysql_close() l'appel, car il est complètement inutile car il sera fermée lorsque le script s'arrête en cours d'exécution.
Peu rapide de référence sur le PHP mysql_query fonction: http://nl.php.net/manual/en/function.mysql-query.php
Aussi je parie que vous voulez un peu de bon tutoriels pour vous aider à apprendre le PHP et MySQL. Découvrez ce site: http://net.tutsplus.com/category/tutorials/php/