So, habe mein Problem glaub ein Stück weit identifiziert. So wie es scheint mach ich beim binden des Parameters irgendwas falsch. Nachdem ich sonst alles behoben hab, was Ihr beschrieben hattet und den Treiber auf ODBC umgestellt hab, hab ich nun folgende Situation.
Führe ich folgendes aus:
$bu_name = 'test';
$sql = 'EXEC butablecheck test';
$stmt = $db->prepare($sql);
$stmt->bindParam(1, $bu_name);
$stmt->execute();
Läuft die Stored Procedure und ich erhalte einen Table mit dem Namen test.
Führe ich hingegen folgendes aus:
$bu_name = 'test';
$groesse_arr = count($result);
$stmt = $db->prepare('EXEC butablecheck (?)');
$stmt->bindParam(1, $bu_name);
for($j=0;$j<=$groesse_arr-1;$j++) {
$bu_name = $result[$j][0];
$stmt->execute();
}
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42000]: Syntax error or access violation: 102 [Microsoft][ODBC SQL Server Driver][SQL Server]Falsche Syntax in der Nähe von '@tablename'. (SQLExecute[102] at ext\pdo_odbc\odbc_stmt.c:133)
Der Fehler verweist auf $stmt->execute();
Das kann doch jetzt nichts mehr so wildes sein, oder?