Just nu i M3-nätverket
Jump to content

konsigt fel...


pepino

Recommended Posts

Denna lilla kod skriver inget i databasen, men jag får ändå inget felmeddelande från mysql_erorr()

<?
$con = mysql_connect("kaj","root","******");
mysql_select_db("henrik");

mysql_query($con,"INSERT INTO gast (namn,epost) values('$namn,'$epost')");
echo mysql_error();
mysql_close($con);
?>
har jag glömt något, alltså det kommer inget in i databasen å jag får inget felmeddelande...
Link to comment
Share on other sites

Om du läser på i manualen så ser du att du har ett syntax fel i mysql_query (http://www.php.net/manual/en/function.mysql-query.php)

 

En andra sak som du bör göra är nånting sånt här:

 

<?
$con = @mysql_connect("localhost","root","********") or die("Error i mysql_connect: " . mysql_error());
@mysql_select_db("henrik") or die("Error i mysql_select_db: " . mysql_error());

@mysql_query("INSERT INTO gast (namn,epost) values('$namn','$epost')", $con) or die("Error i mysql_query: " . mysql_error());

mysql_close($con);
?>

 

Dvs lägga till or die och köra mysql_error där i, detta eftersom mysql_error endast innehåller senaste felet som mysql gav.

 

@ tecknen framför funktionerna måste du inte ha, jag brukar dock köra det för att slippa visa enduser pinsamma PHP fel och istället fånga upp felet i en egen felhanterare. Det gör jag dock inte här, utan jag skriver direkt ut felet mha 'or die'.

 

Du måste dock inte lägga till $con i mysql_query. PHP använder den senast öppna mysql kopplingen om det inte står nåt här. Men det är klart, öppnar du flera kopplingar mot flera databaser så bör du ju ha med kopplingen oxå.

 

BTW, jag antar att du redan vet att du inte bör köra med root kontot i en webbapplikation va? :)

 

--

Some say I am crazy..but the Voices in my head disagree...

 

[editerat] Är nog trött tror jag, skrev mycket fel först...[/editerat]

 

[inlägget ändrat 2002-11-09 14:13:33 av Bj0rN]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...