Seltsames Problem mit SQL

02/28/2013 17:06 CracyCrazz#1
Grüßt euch Leute,


ich würde mich gerne mal wieder mit einer Frage an euch wenden, das Problem besteht dadrin das ich in phpMyAdmin folgenden SQL Query Problemlos ausführen kann, er ist ja eigentlich auch richtig.

PHP Code:
SET SQL_MODE=`NO_AUTO_VALUE_ON_ZERO`;

DROP TABLE IF EXISTS `<@TABLE_PREFIX@>_logs`;

CREATE TABLE IF NOT EXISTS `<@TABLE_PREFIX@>_logs` (
  `
idint(11NOT NULL AUTO_INCREMENT,
  `
uservarchar(128NOT NULL,
  `
actionvarchar(256NOT NULL,
  `
timestampbigint(11NOT NULL,
  
PRIMARY KEY (`id`)
ENGINE=MyISAM DEFAULT CHARSET=latin1
Für den Tabellen Prefix halter habe ich in phpMyAdmin einfach sowas wie "testtable" eingegeben. Im PHP Skript wird dieses auch erfolgreich mit dem per Post übermittelten Wert ersetzt. Dann führe ich den Query mit MySQLi aus der Code Bereich dafür sieht so aus:

PHP Code:

                            $sql
;
                            
                            
$sql file_get_contents(CMS_INC_SQL_DIR.'_logs.sql');
                            
                            
$sql str_replace('<@TABLE_PREFIX@>'$posts[16], $sql);
                            
                            if(!
$mysqli->query($sql))
                                throw new 
Exception($mysqli->error);
                            
                            unset(
$sql); 
Dann bekomme ich den Fehler ausgeworfen das ich einen Syntax Fehler in Zeile 3 hätte, also dort wo das "DROP TABLE IF EXISTS" Statement steht wäre wohl ein Fehler. In phpMyAdmin kann ich aber wie bereits erwähnt den Query Problemlos ausführen. Nun wüsste ich mal gerne woran das liegen könnte.

Mal ein paar Informationen zum MySQL Server und zur PHP Version, also die MySQL Server Version ist: 5.1.61 und die PHP Version ist 5.3.3-7(+squeeze9). Falls sonstige Informationen noch benötigt werden sollt ihr sie kriegen.
02/28/2013 19:14 Mikesch01#2
Kann man mit MySQLi 3 Befehle gleichzeitig mit einem Query versenden? Glaube nicht^^ Möglicherweise liegt hier der Fehler.
03/03/2013 00:25 CracyCrazz#3
Jou, danke es lag am einfachen Query, mit multi_query funktionierte es dann.