0

PDO を使用して MySQL データベースとやり取りするには、名前付きプレースホルダーを想定して、データベース構造に関する知識が必要です。

$db->("INSERT INTO table (firstname, lastname, age) value (:fn, :ln, :age)");

コードを変更せずにテーブル構造を変更できるように、そのような知識がなくても名前付きプレースホルダーを使用して準備済みステートメントを使用する方法はありますか? または、テーブル構造についてデータベースにクエリを実行する方法はありますか?

4

1 に答える 1

0

解決策は、ビジネス モデルを観察することです。

select 
    column_name,
    column_type
from 
    information_schema.columns 
where 
    table_schema = 'yourschema'
and table_name = 'yourtable';

この結果を解析し、php を使用してオンザフライで挿入クエリを作成しました。このcolumn_type情報を使用して、値をバインドするときに PDO::XXX データ型をマップできます。

于 2013-11-03T19:12:33.793 に答える