誰でも私を助けることができます
これはうまくいきます::
$stmt = $this->conn->prepare("SHOW TABLES FROM db LIKE 'xyz'"); //tablename hardcoded
$stmt->execute();
$rows = $stmt->fetch(PDO::FETCH_ASSOC); //fetchAll
ただし、スクリプトで動的になるため、テーブル名をバインドしようとすると::
$stmt = $this->conn->prepare("SHOW TABLES FROM db LIKE :tbl"); //tablename hardcoded
$tbl = "xyz";
$stmt->bindParam(":tbl", $tbl, PDO::PARAM_STR);
これによりエラーが発生し、
$stmt = $this->conn->prepare("SHOW TABLES FROM cens LIKE ?");
$tbl = "xyz";
$stmt->bindParam(1, $tbl, PDO::PARAM_STR);
これもエラーになります。
エラーは
致命的なエラー: キャッチされない例外 'PDOException' とメッセージ 'SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 SQL 構文にエラーがあります。「?」の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。/opt/lampp/htdocs/PDO/test.php:132 スタック トレースの 1 行目:
0 /opt/lampp/htdocs/PDO/test.php(132): PDO->prepare('SHOW TABLES FRO...')
クエリとバインド変数の両方で引用符を使用してみましたが、うまくいきませんでした
テーブル名をバインドしたいのですが、