Hallo an alle,
ich versuche aus PHP eine Stored Procedure auf einem Mssql 2008 Server anzusteuern (IIS 5.1). Leider führt das Ganze zu keinem Erfolg, wobei ich schon sämtliche Tutorials die es so gibt durchhab. Prepared Statements an sich funktionieren, so dass ich langsam echt am verzweifeln bin.
Steuer ich die Stored Procedure aus dem Management Studio des Mssql an, so funktioniert die Procedure auch problemlos.
Ich poste hier mal meinen PHP Code vll bin ich ja auch wirklich einfach zu blöd ;)
Ausserdem erhalte ich folgende Fehlermeldung:
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
Wenn ich mir die jeweilige Variable zum binden ausgeben lass, dann sieht das für mich alles ok aus.
$stmt = $db->prepare('CALL butablecheck (?)');
$stmt->bindParam(1, $bu_name);
for($j=0;$j<=$groesse_arr-1;$j++) {
$bu_name = $result[$j][0];
echo $bu_name.'</br>';
$stmt->execute();
Die Stored Procedure sieht folgendermaßen aus:
DROP PROCEDURE butablecheck;
CREATE PROCEDURE butablecheck @tablename Varchar(255)
AS
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @tablename)
BEGIN
Declare @SQLStatement nvarchar(4000)
SET @SQLStatement = 'create table ' + @tablename + '(timestamp DATETIME DEFAULT GETDATE() NOT NULL,
month INT NOT NULL,year INT NOT NULL
,"1" VARCHAR(255),"2" VARCHAR(255))'
Exec (@SQLStatement)
END
Bin auf jeden Fall für jeden Tipp dankbar!
Grüße,
hawaii