Tabelle erstellen schlägt fehl
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
check
code
erstellen
folgende fehlermeldung
manual
markieren
not
null
pos
problem
server
statement
syntax
tabelle
tun
type
umsteigen
umstellen
url
verbindung
-
Hi Leute ich habe ein problem den code habe ich fertig bekommen und habe alles gemacht was ich tun sollte laut installationsanleitung
und bekomme folgende fehlermeldung:
kann Tabelle `sp2abschuss` nicht erstellen: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM AUTO_INCREMENT=1' at line 1
Der code:
if(!mysql_query('CREATE TABLE `'. $tprefix .'abschuss` ('. '`pk` int(11) unsigned NOT NULL auto_increment, '. '`user_pk` int(11) unsigned NOT NULL, '. '`units_pk` int(11) unsigned NOT NULL, '. '`pos` int(11) unsigned NOT NULL, '. '`neg` int(11) unsigned NOT NULL, '. 'PRIMARY KEY (`pk`)'. ') TYPE=MyISAM AUTO_INCREMENT=1 ;', $db_link_id)){ die('kann Tabelle `'. $tprefix .'abschuss` nicht erstellen: '. mysql_error($db_link_id)); }
was muss ich nun ändern damit es funktioniert?
lg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
zunächst einmal würde ich auf mysqli umsteigen, ist sicherer.
und dann kommt bei dir erst die variable auf die verbindung und dann der query:
mysqli_query($verbindung, $query);
http://de1.php.net/manual/de/mysqli.query.php
==Hinweis==
für mysqli musst du alles auf mysqli umstellen, also auch schon den verbindungsaufbau und auch die auswertung von dem, was du zurückbekommst -
Versuch es vielleicht mal so:
if(!mysql_query('CREATE TABLE `'. $tprefix .'abschuss` ('. '`pk` int(11) unsigned NOT NULL auto_increment, '. '`user_pk` int(11) unsigned NOT NULL, '. '`units_pk` int(11) unsigned NOT NULL, '. '`pos` int(11) unsigned NOT NULL, '. '`neg` int(11) unsigned NOT NULL, '. 'PRIMARY KEY (`pk`)'. ') ENGINE=MyISAM AUTO_INCREMENT=1 ;', $db_link_id)){ die('kann Tabelle `'. $tprefix .'abschuss` nicht erstellen: '. mysql_error($db_link_id)); }
"ENGINE=MyISAM" anstatt "TYPE=MyISAM" -
das habe ich auch gemacht selber fehler das ist äußerst komisch!
-
zuerst prüfe mal über phpmyadmin ob deine query dort einwandfrei funktioniert
-
stimmt das könnt ich auch noch machen
dabei kommt das raus:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''. '`pk` int(11) unsigned NOT NULL auto_increment, '. '`user_pk`' at line 1
Beitrag zuletzt geändert: 31.8.2014 21:52:17 von gravedesign -
ok, dann hast du also kein PHP sondern ein SQL-Problem
so, jetzt weiter...
wie sieht denn dein reines SQL-Statement aus (so wie du es in phpmyadmin verwendest)?
-
'CREATE TABLE `'. $tprefix .'abschuss` ('. '`pk` int(11) unsigned NOT NULL auto_increment, '. '`user_pk` int(11) unsigned NOT NULL, '. '`units_pk` int(11) unsigned NOT NULL, '. '`pos` int(11) unsigned NOT NULL, '. '`neg` int(11) unsigned NOT NULL, '. 'PRIMARY KEY (`pk`)'. ') ENGINE=MyISAM AUTO_INCREMENT=1 ;'
ich habe es einfach so reinkopiert -
da kann so nicht funktionieren!
unter phpmyadmin musst du das schon "pur" eingeben (ohne PHP-Variablen etc.)
mach mal folgendes:
gib mal unter PHP mit ECHO deine SQL-Query am Bildschirm aus
Danach markieren, kopieren und dann in phpmyadmin wieder rein!!! <- nur so wird das was!
Dein "pures" SQL-Statement kannst Du uns dann auch gleich noch posten
-
ich werde es morgen probieren kam heute leider nichtmehr dazu! melde mich wieder hoffentlich bekomm ichs hin ...
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage