Frank (no reg): PDO / MSSQL / Stored Procedure

Beitrag lesen

Hallo,

Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY000]: General error: 10007 Falsche Syntax in der Nähe von 'blabla'. [10007] (severity 5) [(null)] in create_bu_tables.php on line 20

Naja, ist ja offensichtlich, dein SQL ist syntaktisch fehlerhaft. (Punkt).

  • dein hier geposteter Code enthält kein 'blabla'
  • CALL ist soweit mir bekannt kein gültiger Befehl unter MS SQL, wenn du eine Stored Procedure ausführen willst, dann heisst das EXEC

Wenn ich mir die jeweilige Variable zum binden ausgeben lass, dann sieht das für mich alles ok aus.

  • schön, dass es für dich okay aussieht, dann ist ja alles in Butter
  • schade, dass es doch nicht funzt und du "uns" den Variablen-Dump vorenthältst, so können "wir" natürlich äussert gezielt helfen

DROP PROCEDURE butablecheck;

Einfach so DROP PROC aufrufen

  • gehört nicht zur Prozedur
  • geht schief wenn es noch keine Prozedur gibt, du solltest das also ähnlich elegant lösen wie mit der Tabelle

SET @SQLStatement = 'create table ' + @tablename + '(timestamp DATETIME DEFAULT GETDATE() NOT NULL,
        month INT NOT NULL,year INT NOT NULL

soweit so gut ...

  • year und month sind reservierte Worte, du solltest sie in [] packen

,"1" VARCHAR(255),"2" VARCHAR(255))'

und was soll das sein?

  • " ist keine Begrenzung für Zeichenketten, dafür gibt es '
  • " ist keine Begrenzung für Objektnamen, dafür gibt es []

Ciao, Frank