PDO MySQL查询独立于数据库结构

时间:2013-11-03 18:46:39

标签: php mysql sql database pdo

要使用PDO与MySQL数据库交互,假设命名占位符,需要了解数据库结构:

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

是否有一种方法可以在没有这些知识的情况下使用带有命名占位符的预准备语句,允许更改表结构而无需更改代码。或者,有没有办法在数据库中查询表结构?

1 个答案:

答案 0 :(得分:0)

解决方案是观察您的商业模式:

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

解析此结果,并使用php动态构建插入查询。使用column_type信息,您可以在绑定值时映射PDO :: XXX数据类型。