PDO ve Microsoft SQL: "P1 @" Tablo değişkeni bildirmeniz gerekir

0 Cevap php

Ben bir Microsoft SQL veritabanı bazı girdileri seçmek için PDO'de bağlayıcı kullanmaya çalışıyorum. Ben belgelerinde buldum ne benzer gibi kod ben görünüyor kullanıyorum. Ben çalıştırmak Ancak, aşağıda uyarı alıyorum:

Uyarı: PDOStatement ::) [pdostatement.execute] (yürütün: sqlstate [42000]: sözdizimi hatası veya erişim ihlali: 1087 [Microsoft] [SQL Native Client] [SQL Server] "P1 @" Tablo değişkeni bildirmeniz gerekir. (SQLExecute [1087] ext \ PDO_ODBC \ odbc_stmt.c at: 254) hattına 40 (uzun dosya yolu) içinde

İşte ilgili kodu bulunuyor:

$table = "[User Site]";
$user = "demo";
$sql = "SELECT * FROM ? WHERE user='?'"; 
$sth = $db->prepare($sql);
$sth->bindValue(1,  $table, PDO::PARAM_STR);
$sth->bindValue(2, $user, PDO::PARAM_STR);
$sth->execute(); //                         <-- line 40
$data = $sth->fetch(PDO::FETCH_ASSOC);

Bu ilişkili olabilir. (: Tablo: kullanıcı) Ben adlandırılmış parametre işaretleri kullanmak çalıştığınızda yerine soru işaretleri, bu olsun:

Uyarı: PDOStatement :: bindValue () [pdostatement.bindvalue]: sqlstate [HY093]: Geçersiz parametre numarası: parametre satırında (uzun dosya yolu) tanımlı değil 39

Neden benim hazırlanmış deyimi sevmez?

0 Cevap