Een verplichte update :aangezien mysql ext niet meer is, zijn hier de antwoorden voor twee resterende MySQL API's die ik op mijn site heb geschreven op basis van de ervaring van het beantwoorden van duizenden vragen over Stack Overflow:
- Hoe meld je fouten in mysqli
- Hoe verbinding te maken met MySQL met behulp van PDO (met als doel de juiste foutrapportage).
Kortom, voor mysqi moet de volgende regel worden toegevoegd vóór mysqli_connect()
bel:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
terwijl voor PDO de juiste foutmodus moet worden ingesteld, bijvoorbeeld
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
Vanaf de oude mysql ext,
Om een foutmelding te krijgen van mysql_query()
je moet mysql_error()
. gebruiken functie.
Voer dus altijd al uw zoekopdrachten op deze manier uit, in ieder geval totdat u een meer geavanceerde query-handler ontwikkelt:
$query = "SELECT * FROM 'users'";
$result = mysql_query($query) or trigger_error(mysql_error()." ".$query);
het probleem met uw huidige zoekopdracht is 'users'
deel. Enkele aanhalingstekens moeten worden gebruikt om strings af te bakenen, terwijl u voor de identifiers backticks moet gebruiken:
SELECT * FROM `users`
Om deze fouten tijdens de ontwikkeling te zien, voegt u deze regels toe aan de bovenkant van uw code om er zeker van te zijn dat u elke opgetreden fout kunt zien
ini_set('display_errors',1);
error_reporting(E_ALL);
op de productieserver moet de waarde op de eerste regel echter worden gewijzigd van 1 in 0