29. august 2000 - 21:27
Der er
3 kommentarer og
2 løsninger
insert i MySQL
Hej gruppe,
Jeg har lavet en tabel i min database, der er som følger:
\"CREATE TABLE beskedsystem ( id tinyint(4) DEFAULT \'0\' NOT NULL AUTO_INCREMENT, navn varchar(20), dato varchar(10), besked varchar(255), PRIMARY KEY (id), UNIQUE id (id))\"
men når jeg kører det følgende script, vil det ikke indsætte oplysninger i min tabel. Er der nogen der kan sige mig hvad jeg gør galt????
<?php
$navn = \"christian\";
$dato = \"290800\";
$besked = \"Hejsa\";
$databasenavn = \"beskedsystem\";
$ins = \"INSERT INTO beskedsystem (besked, dato, navn) VALUES(\'$besked\',\'$dato\',\'$navn\')\";
$db = mysql_connect (\"localhost\", \"root\");
print (\"Tilsluttet til host!\");
print \"<br>\";
mysql_select_db( $databasenavn , $db );
if (!mysql_query($ins, $db)) {
print \"Der kunne ikke insættes oplysninger i databasen :-(\";
exit();
}
$result = mysql_query(\"SELECT * FROM beskedsystem\",$db);
printf(\"Navn: %s<br>\\n\", mysql_result($result,0,\"navn\"));
printf(\"Dato: %s<br>\\n\", mysql_result($result,0,\"dato\"));
?>
På forhånd tak for hjælpen
jd
Nybegynder
29. august 2000 - 21:35
#1
er det ikke fordi du ikke kører $ins? -du har kun en if-sætning der tjekker...
Hvis du nu skifter dette:
if (!mysql_query($ins, $db)) {
print \"Der kunne ikke insættes oplysninger i databasen :-(\";
exit();
}
ud med dette:
$query = mysql_query($ins) or die (mysql_error());
if (!$query) {
print \"Der kunne ikke insættes oplysninger i databasen :-(\";
exit();
}
-bare en idé...
/Jon@z
29. august 2000 - 21:38
#3
Det er lidt lettere at debugge, hvis du får nogle fejlbeskeder!
Skriv f.eks.:
$db = mysql_connect(\"localhost\", \"root\") or die(mysql_error());
if ($db) {
print \"Tilsluttet til host!<br>\";
}
og ret ligeledes
mysql_select_db($databasenavn, $db) or die(mysql_error());
og
mysql_query(.....) or die(mysql_error());
På den måde får du nogle fejlbeskeder, der måske kan give dig et hint om, hvad der er galt.
30. august 2000 - 11:06
#4
Tak for hjælpen, nu fungerer det, jeg skiftede if-sætningen ud med det foreslåede. Men fejlen var faktisk at jeg havde skrevet det forkerte databasenavn som steffen kommenterede, hvor dum kan man være :-)