2016-05-15 17 views
0

während der Durchführung der unter PHP-Code ein Fehler appreas mitPHP mysqli Anweisung Fehler

Internal Server Error 
The server encountered an internal error or misconfiguration and was unable to complete your request. 
Please contact the server administrator to inform of the time the erro occurred and of anything you might have done that may have caused the error. 
More information about this error may be available in the server error log. 

den PHP-Code:

<?php 
require "init.php"; 
$Date = []; 
$Subject = []; 
$Desc= []; 
$query = mysqli_query($con,"SELECT date, Subject, Desc FROM sherif_DCOAn"); 
while($row = mysqli_fetch_assoc($query)){ 
$Date[] = $row['date']; 
$Subject[] = $row['Subject']; 
$Desc[] = $row['Desc']; 
echo json_encode($Date).','.json_encode($Subject).','.json_encode($Desc).','; 
} 
?> 

der Fehler erscheint, wenn ich das, während ein Teil hinzufügen:

while($row = mysqli_fetch_assoc($query)){Whatever code} 

Ich habe das gleiche auf eine andere select angewendet und es funktioniert:

$query = mysqli_query($con,"SELECT DISTINCT SiteName FROM CAB"); 

was ist los mit dem ersten?

Antwort

2

Ihre Anfrage SELECT date, Subject, Desc FROM sherif_DCOAn enthält MySQL reserved keywords. Ihre Spaltennamen date, Subject und Desc sind alle aufgeführt.

Sie könnten diese Spaltennamen Graviszeichen ihnen zu entkommen mag:

SELECT `date`, `Subject`, `Desc` FROM sherif_DCOAn 

und Sie sollten gut sein. Nur für zukünftige Referenz, ich bin ziemlich sicher, dass es empfohlen wird, diese Schlüsselwörter in Namen für Tabellen einfach nicht zu verwenden. diese

+0

hast du mich gerettet :) .. das war die Antwort –

+0

@SheriffSaidElahl Ich war schon öfter dort als ich zählen konnte! Ausarbeitung der Antwort ein wenig, danke für die beste Antwort Tick. –

+0

Dies sind Spaltennamen, keine Tabelle. – jkavalik

-1

Änderung:

$query = mysqli_query($con,"SELECT date, Subject, Desc FROM sherif_DCOAn"); 

zu:

$query = mysqli_query($con,"SELECT * FROM sherif_DCOAn"); 

Sie Ihre Ergebnisse hier sind anrufen:

while($row = mysqli_fetch_assoc($query)){ 
$Date[] = $row['date']; 
$Subject[] = $row['Subject']; 
$Desc[] = $row['Desc']; 

Mit anderen Worten, Sie sind Ihre Zeilen zweimal aufrufen. Wenn du irgendwie verstehst, was ich meine ...