16. juli 2008 - 13:20Der er
12 kommentarer og 1 løsning
updatere database gennem php problemer.
hej. jeg tror jeg har et forholdsvis let spørgsmål. jeg har lavet et blog system, og der har jeg lavet en EDIT sektion, men jeg kan ikke få databasen til at opdatatere, her er koden:
<?php include("config.php"); $blogs = $_POST['blogs']; if ($blogs) { den ind $oskrift = $_POST['oskrift']; $id = $_POST['id']; mysql_query("UPDATE INTO `blog` VALUES ( '$oskrift', '$blogs', '$id') WHERE id = {$_GET[nr]}", $db); } ?>
og
<form name="indtast" onsubmit="return" action="lykkes.php" method="post"> <? $indhold = mysql_query("SELECT * FROM blog WHERE id = {$_GET[nr]}", $db); while ($data = mysql_fetch_row($indhold)) { echo " <input type='text' name='id' value='$data[0]'> <input type='text' name='oskrift' value='$data[1]'> <textarea id='elm1' name='blogs' rows='15' cols='80' style='width: 80%'>"; echo "$data[2] </textarea> <input type='submit' value='Tilføj post'>"; } ?>
når jeg gør det her, giver den bare den et nyt id, og opdatere den ikke. jeg kunne ligeså godt skrive INSERT. hvad er det jeg gør galt? id er selvfølgelig på auto_increament. jeg er meget grøn på området, så bær over med mig :D
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
hmm kan ikke få det til at virke: <?php include("config.php"); //inkludere config filen som har alle oplysninger som har alle informationer der skal til for at forbinde til serveren $blogs = $_POST['blogs']; //siger at $blogs er det samme som blogs if ($blogs) { //hvis bloggen så er det samme, så kan man sætte den ind $oskrift = $_POST['oskrift']; $id = $_POST['id']; $time = $_POST['time']; mysql_query("UPDATE `blog` SET `overskrift` = '$oskrift', `blogs` = '$blogs', `id` = '$id', 'time' = '$time') WHERE id = $_GET[nr]", $db); } ?> og <form name="indtast" onsubmit="return" action="lykkes.php" method="post"> <? $indhold = mysql_query("SELECT * FROM blog WHERE id = {$_GET[nr]}", $db); while ($data = mysql_fetch_row($indhold)) { echo " <input type='text' name='id' value='$data[3]'> <input type='text' name='time' value='$data[0]'> <input type='text' name='oskrift' value='$data[1]'> <textarea id='elm1' name='blogs' rows='15' cols='80' style='width: 80%'>"; echo "$data[2] </textarea> <input type='submit' value='Tilføj post'>"; } ?>
har rettet den der heder overskrift, til oskrift, for det hedder den i databasen. men tror heller ikke det er det der er galt, for den putter det ind i databasen. men den opdatere bare ikke det gamle, den sætter bare noget nyt ind, med et nyt id.
nu lavede jeg den om til det den hed, altså edit.php istedet for lykkes.php så kommer den her fejl: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\phpdev\www\edit.php on line 92
der er stadig ikke noget der hjælper, den laver bare en ny streng. hvis jeg redigere indlæget med id'et 18, og så prøver at update den. så forsvinder den gamle ikke, den laver bare en ny, med id'et 19: min kode so far:
include("config.php"); $blogs = $_POST['blogs']; if ($blogs) { $oskrift = $_POST['oskrift']; $id = $_POST['id']; $time = $_POST['time']; mysql_query("UPDATE `blog` SET `oskrift` = '$oskrift', `blogs` = '$blogs', `id` = '$id', 'time' = '$time' WHERE id = $_POST[nr]", $db);
nclude("config.php"); $blogs = $_POST['blogs']; if ($blogs) { $oskrift = $_POST['oskrift']; $id = $_POST['id']; $time = $_POST['time']; mysql_query("UPDATE `blog` SET `oskrift` = '$oskrift', `blogs` = '$blogs', `id` = '$id', 'time' = '$time' WHERE id = $_POST[nr]", $db); }
jeg har også prøvet at gøre sådan her: WHERE id = '18' men det hjalp lige lidt. den lavede stadig bare et nyt post.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.