Ben net begonnen met mysql, en ben nu bezig met een klein gastenboekje.

Mijn probleem:

Waarom mislukt deze query steeds:


<?php
		$insert = "INSERT INTO gastenboek
				   VALUES (NULL,
				   		   '".$onderwerp."',
						   NOW(),
						   '".$naam."',
						   '".$email."',
						   '".$bericht."')";
						   
		$voerin = mysql_query($insert) or die(mysql_error());
		
		if($voerin)
		{
        	$melding2 = 'Succesvol toegevoegd';
        }
		else 
		{
        	$melding2 = 'Door een technische storing kon het bericht niet worden toegevoegd';
        }
?>


de error:
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
echo mysql_errno() dan even, dan weet je precies wat er fout gaat.

De foutmelding moet je altijd ergens gebruiken, op het scherm of in een logboek, je moet de volledige melding ergens noteren. En gebruik zowel mysql_errno() als mysql_error(), dat maakt het voor jou alleen maar eenvoudiger.
$voerin = mysql_query($insert) or die(mysql_errno());

geeft een lege pagina

$voerin = mysql_query($insert) or die(mysql_error());

geeft Duplicate entry 'Dit is een test om te kijken of alles werkt' for key 'bericht'
Even terug naar af en je code opschonen:
<?php
$result = mysql_query($insert); // $result, $voerin is een rare naam

if(mysql_errno() == 1062) // mysql_errno() kent geen parameters
{
$melding2 = 'Precies ditzelfde bericht is al eerder gepost, dit kan geen toeval zijn.';
}
elseif($result)
{
$melding2 = 'Succesvol toegevoegd';
unset($_SESSION['contactform']);
}
else
{
$melding2 = 'Door een technische storing kon het bericht niet worden toegevoegd: '.mysql_errno().' Met melding: '.mysql_error();
}
?>
Thx Frank,

Ik heb het probleem nu gevonden, ik had:

mysql_errno($voerin)

maar dit moest zijn

mysql_errno()

Verder heb ik bij $melding2 ook nog even een mail functie gezet, zodat ik een mailtje krijg bij database fout

Reageren