En obligatorisk uppdatering :eftersom mysql ext inte finns längre, här är svaren för två återstående MySQL API:er som jag skrev på min webbplats baserat på erfarenheten från att svara på 1000-tals frågor om Stack Overflow:
- Hur man rapporterar fel i mysqli
- Så här ansluter du till MySQL med PDO (med syftet att korrekt felrapportera).
Kort sagt, för mysqi måste följande rad läggas till före mysqli_connect()
ring:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
medan för PDO måste rätt felläge ställas in, till exempel
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
Från och med den gamla mysql ext,
För att få ett felmeddelande från mysql_query()
du måste använda mysql_error()
funktion.
Så kör alltid alla dina frågor på detta sätt, åtminstone tills du utvecklar en mer avancerad frågehanterare:
$query = "SELECT * FROM 'users'";
$result = mysql_query($query) or trigger_error(mysql_error()." ".$query);
problemet med din nuvarande fråga är 'users'
del. Enstaka citattecken måste användas för att avgränsa strängar medan du för identifierarna måste använda backticks:
SELECT * FROM `users`
För att se dessa fel under utveckling, lägg till dessa rader högst upp i koden för att vara säker på att du kan se alla fel som uppstått
ini_set('display_errors',1);
error_reporting(E_ALL);
på produktionsservern bör dock värdet på den första raden ändras från 1 till 0