Is het nodig, verplicht, het beste om na elke mysql query dit erachter te zetten "or die(mysql_error());
"

Sorry voor al m'n vragen hoor maar leer graag bij en zijn weinig nederlandse website's

Als ik het goed begrijp, als je query mislukt, gaat hij een error weergeven, denk ik?
Ik heb dit nu:
$dbres = mysql_query("SELECT * FROM `users` WHERE `Gebruiker`='{$_SESSION['Gebruiker']}'")
or die('Kon speler gegevens niet ophalen in de database.'.mysql_error());

En ik vind het best goed dat het script verder stopt, om gekloot te voorkomen dan. Wat ik mij afvraag, ik heb een SQLerror.php script dan weergegeven word als er geen verbinding is met de database.
Kan ik ipv 'Kon speler gegevens niet ophalen in de database.' die file includen?
or die('include('Check.php');.'.mysql_error());

Maar dat geeft constant errors met die apostrofes
Als ik jou was zou ik snel helemaal afstappen van or die().

Je zegt dan letterlijk dat je script mag sterven als er een foutje optreed. Best lullig niet?

Je kunt het beter afhandelen met een if statement. Dan kijk je of de query goed is uitgevoerd, zo ja ga verder zo niet foutmelding en in jou geval een include.


if( !mysql_query() )
{
	# Error weergave
}
else
{
	# Verder gaan
}


Dit kun je verder uitbreiden door te kijken of er wel data is gevonden. Succes
Oké, enorm bedankt, hoe moet ik dit samen voegen?
<?php

$dbres = mysql_query("SELECT * FROM `users` WHERE `Gebruiker`='{$_SESSION['Gebruiker']}'");
$data = mysql_fetch_object($dbres);

if( !mysql_query() )
{
include('SqlError.php');
}
else
{

Zo krijg ik zowieso de foutpagina, ik weet niet goed hoe ik het erin verwerk

[size=xsmall]Toevoeging op 01/02/2013 14:53:38:[/size]

Nu werkt het wel (denk ik)
ik heb dit ervan gemaakt :p

if( !mysql_query("SELECT * FROM `users` WHERE `Gebruiker`='{$_SESSION['Gebruiker']}'") )
{
include('SqlError.php');
}
else
{
$dbres = mysql_query("SELECT * FROM `users` WHERE `Gebruiker`='{$_SESSION['Gebruiker']}'");
$data = mysql_fetch_object($dbres);
Als je lijn 6 aanpast in: if(!$dbres) {

dan zit je goed.
Als ik het zoals jou doe Aar krijg ik gewoon mijn bruine achtergrond?
$dbres = mysql_query("SELECT * FROM `users` WHERE `Gebruiker`='{$_SESSION['Gebruiker']}'");
$data = mysql_fetch_object($dbres);

if( !$dbres() )
{
include('SqlError.php');
}
else
{
Leer het verschil tussen een functie aanroep en een variabele.
het is altijd nog een variabele: $dbres
Pff, snik snik, begrijp er niks meer van :(
$dbres is een variabele
dbres() is een functie aanroep
$dbres() kan correct zijn... maar in dit geval niet. Dus niet if( !$dbres() ), maar if( !$dbres ).
Hiermee vertel ik je toch niets nieuws mag ik hopen...
Bedankt erwin, ik had inmiddels dit bijeen gekregen, en het werkt :P
<?PHP
$dbres = mysql_query("SELECT * FROM `users` WHERE `Gebruiker`='{$_SESSION['Gebruiker']}'")or die(header('Location: SqlErrorOphalen.php'));
$data = mysql_fetch_object($dbres);
?>

Reageren