15. november 2005 - 15:41
Der er
30 kommentarer og 2 løsninger
Hvorfor virker dette ikke ?
hvorfor virker mit dokument ikke ? :( (fejlen er bare at den ikke vil indsætte dette i min mysql database) <? $id = $_GET['id']; ?> <form action="profil.php?id=<?php echo $_GET['id']; ?>" method="post"> Mail: <input name="mail" type="text"><br> Hjemmeside: <input name="hjemmeside" type="text"><br> Interesser: <input name="interesser" type="text"><br> Alder: <input name="alder" type="text"><br> <input name="send" type="submit" value="gem"><br> </form> <?php include "mysql.php"; if ($_POST[send]) { mysql_query("INSERT INTO brugere (mail, hjemmeside, interesser, alder) VALUES ('$_POST[mail]', '$_POST[hjemmeside]', '$_POST[interesser]', '$_POST[alder]') WHERE id = $id"); } ?> og her er tabellen: CREATE TABLE `brugere` ( `id` int(11) NOT NULL auto_increment, `brugernavn` varchar(255) NOT NULL default '', `kodeord` varchar(255) NOT NULL default '', `mail` varchar(100) NOT NULL default '', `hjemmeside` varchar(100) NOT NULL default '', `interesser` varchar(100) NOT NULL default '', `alder` varchar(100) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=29 ;
Annonceindlæg fra Kommando
15. november 2005 - 15:43
#1
skal lige siges at dette ikke er mit eget private dokument men et jeg fik af en ven fra msn :)
15. november 2005 - 15:43
#2
Det er fordi du prøver at indsætte noget WHERE id = x - det kan man ikke, så er det jo ikke en insert men en update.
15. november 2005 - 15:43
#3
Du kan ikke bruge en WHERE i en INSERT!
15. november 2005 - 15:46
#4
øv og bøv, jamen dog hvad skal jeg så bruge ? skal jo have den til at indsætte det man har indtastet lige præcis ved den bruger hvis id er i adresselinien ???
15. november 2005 - 15:48
#5
UPDATE `brugere` SET `mail` = '".$_POST['mail']."', `hjemmeside` = '".$_POST['hjemmeside']."' WHERE id = $id
15. november 2005 - 15:49
#6
jamen det skal jo være en insert og ikke update
15. november 2005 - 15:51
#7
Hvorfor skal det det? Hvis det er fordi du vil oprette en bruger med det bestemte id-nummer, så skal du bare have id med i selve inserten - hvis id'et allerede findes, så skal du bruge update.
15. november 2005 - 15:52
#8
Det er netop UPDATE du skal bruge!
Den opdatere en eksisterende række!
Læs mere her:
http://dev.mysql.com/doc/refman/5.0/en/update.html hvis du har et ID i adresse linien, så forstår jeg ikke hvorfor det skal indsættes i tabellen brugere, der findes han jo allerede.
15. november 2005 - 15:56
#9
Når jo, det giver sku da også mening :) hovsa min fejl :) men skal jeg så bare indsætte update istedet for insert og så vil det virke ? undskyld, men forstår ikke helt
15. november 2005 - 15:58
#10
Ikke helt, men du skal fortsætte med de sidste 2 felter på det jeg skrev 15:48:18. Og det er ok, er her jo for at hjælpe :)
15. november 2005 - 16:00
#11
<? $id = $_GET['id']; ?> <form action="profil.php?id=<?php echo $_GET['id']; ?>" method="post"> Mail: <input name="mail" type="text"><br> Hjemmeside: <input name="hjemmeside" type="text"><br> Interesser: <input name="interesser" type="text"><br> Alder: <input name="alder" type="text"><br> <input name="send" type="submit" value="gem"><br> </form> <?php include "mysql.php"; if ($_POST[send]) { UPDATE `brugere` SET `mail` = '".$_POST['mail']."', `hjemmeside` = '".$_POST['hjemmeside']."', `interesser` = '".$_POST['interesser']."', `alder` = '".$_POST['alder']."' WHERE id = $id } ?> sådan der ? det giver mig en unexpected `
15. november 2005 - 16:02
#12
Ja ok, det skulle så lige være: mysql_query(" ... det du har ovenstående ...") or die(mysql_error()); men ellers ser det ikke helt tosset ud...
15. november 2005 - 16:09
#13
Den dur ikke desværre, den vil ikke tilføje det man skriver i tekstfelterne i databasen: <? $id = $_GET['id']; ?> <form action="profil.php?id=<?php echo $_GET['id']; ?>" method="post"> Mail: <input name="mail" type="text"><br> Hjemmeside: <input name="hjemmeside" type="text"><br> Interesser: <input name="interesser" type="text"><br> Alder: <input name="alder" type="text"><br> <input name="send" type="submit" value="gem"><br> </form> <?php include "mysql.php"; if ($_POST[send]) { mysql_query("UPDATE `brugere` SET `mail` = '".$_POST['mail']."', `hjemmeside` = '".$_POST['hjemmeside']."', `interesser` = '".$_POST['interesser']."', `alder` = '".$_POST['alder']."' WHERE id = $id") or die(mysql_error()); } ?>
15. november 2005 - 16:12
#14
Så prøv at lave en udskrift af det, og se om den giver det du tror den skal: echo "UPDATE `brugere` SET `mail` = '".$_POST['mail']."', `hjemmeside` = '".$_POST['hjemmeside']."', `interesser` = '".$_POST['interesser']."', `alder` = '".$_POST['alder']."' WHERE id = $id";
15. november 2005 - 16:14
#15
Det samme sker, den indsætter ikke :)
15. november 2005 - 16:16
#16
nå nu forstår jeg, ja den udskriver det skam, så det må være noget med selve update sætningen :)
15. november 2005 - 16:16
#17
Nej, det skulle den bestemt heller ikke. Men den vil udskrive "kommandoen", så du kan se om den gør det rigtigt. Den udskriver vel noget?
15. november 2005 - 16:19
#18
aargh, nu står det i min database som det skal, men ved ikke hvad jeg gjorde for at det virkede, kan ikke få det tilbage, har lige prøvet :(
15. november 2005 - 16:20
#19
Få det tilbage? Nej, du overskriver det jo...
15. november 2005 - 16:22
#20
Jeg mente koden :) den virkede ligefør men nu virker det ikke :(
15. november 2005 - 16:24
#21
Nu er jeg ikke med mere. Hvad har du af kode nu?
15. november 2005 - 16:26
#22
denne kode: <? $id = $_GET['id']; ?> <form action="profil.php?id=<?php echo $_GET['id']; ?>" method="post"> Mail: <input name="mail" type="text"><br> Hjemmeside: <input name="hjemmeside" type="text"><br> Interesser: <input name="interesser" type="text"><br> Alder: <input name="alder" type="text"><br> <input name="send" type="submit" value="gem"><br> </form> <?php include "mysql.php"; if ($_POST[send]) { mysql_query("UPDATE `brugere` SET `mail` = '".$_POST['mail']."', `hjemmeside` = '".$_POST['hjemmeside']."', `interesser` = '".$_POST['interesser']."', `alder` = '".$_POST['alder']."' WHERE id = $id") or die(mysql_error()); } ?>
15. november 2005 - 16:34
#23
Du kan da prøve at fjerne `erne, men ellers kan jeg umiddelbart ikke se noget galt...
15. november 2005 - 16:44
#24
det virkede selvfølgelig heller ikke, det skal jo være noget ala det vi har prøvet :)
15. november 2005 - 21:33
#25
if ($_POST['send']) {
16. november 2005 - 14:28
#26
Virker nu, skulle bare fjerne det der stod i action :S Læg et svar ;)
16. november 2005 - 16:41
#27
mig ?
16. november 2005 - 18:11
#28
Svar :)
16. november 2005 - 22:43
#29
Hehe, no offence overhovedet, men det var billige point, wakko :) ! Og tak for point :)
16. november 2005 - 22:45
#30
Hehe, er helt ny herinde, mine første points :P - og også tak herfra
16. november 2005 - 22:46
#31
Så er det vel fair nok - velkommen til :)
16. november 2005 - 22:47
#32
Jo tak :)
Vi tilbyder markedets bedste kurser inden for webudvikling