2016-03-29 8 views
-1

Ich versuche nur Datenbank Erstellung/Verknüpfung/Bearbeitung in PHP arbeiten und bekomme ich diesen Fehler beim Versuch, eine Tabelle hinzuzufügen. Code enthalten. Ich habe versucht, dies in W3Schools Editor auszuführen und ich bekomme auch einen Syntaxfehler dort. Tut mir leid, wenn es etwas offensichtlich ist.SQL Create Tabellenfehler in PHP

$sql = "CREATE TABLE myguest 
(
FirstName int, 
Email varchar(255), 
PNumber varchar(255), 
Price varchar(255), 
Desc varchar(255) 
);";  

„Fehler: CREATE TABLE myguest (Vorname int, E-Mail varchar (255), pNumber varchar (255), Preis varchar (255), Beschr varchar (255));

Sie haben einen Fehler Überprüfen Sie in der SQL-Syntax das Handbuch, das Ihrer MySQL-Serverversion für die richtige Syntax in der Nähe von "Desc varchar (255)" in Zeile 7 entspricht.

Ich verwende MySQL 5.6.17 und PHP 5.5. 12 auf WAMP-Server.

+3

'desc' ist ein Schlüsselwort in sql. Sie können es nicht als Spaltennamen verwenden –

+0

WARUM nicht 'description' als Spaltenname verwenden? – Kisaragi

+1

@vkp - Nicht wahr, Sie können es als Spaltenname oder sogar als Tabellennamen verwenden; Sie müssen es nur in Backticks einpacken, damit der Kontext verstanden wird. –

Antwort

0

Desc ist ein reserviertes Wort in MySQL, genauso wie der Versuch, eine Tabelle namens Table zu erstellen - es ist möglich, aber Sie müssen sicherstellen, dass MySQL den Kontext versteht.

Verkapseln Sie es in Backticks.

$sql = "CREATE TABLE myguest 
(
`FirstName` int, 
`Email` varchar(255), 
`PNumber` varchar(255), 
`Price` varchar(255), 
`Desc` varchar(255) 
);"; 
+0

Vielen Dank! Ich hatte den DESC in einem früheren Versuch behoben, aber den gleichen Fehler erhalten. Ich nehme an, es waren die Backticks. Ich habe keine Notwendigkeit für sie gesehen, da die Datenbankerstellung ohne sie funktionierte und ich sie nicht im Beispiel der w3schools sah. – TheCapeGreek

+0

W3Schools ist weit von perfekt. –

+0

Irgendwelche Vorschläge für Alternativen? Ich bin offen dafür. Noch einmal Danke. – TheCapeGreek