对于zend framework插入数据用到的类是Zend_Db_Table ,其应用了其子方法insert操作来向数据库添加数据,
使用 insert()
方法将要插入的数据绑定并创建 一个insert语句(绑定的数据是自动进行加引号处理以避免数据库攻击的)
返回值并 不是 最后插入的数据的id,这样做的原因在于一些表 并没有一个自增的字段;相反的,这个插入的返回值是改变的数据行数(通常情况为1)。 假如你需要最后插入的数据id,可以在insert执行后调用 lastInsertId()
方法。
<?php // // INSERT INTO round_table // (noble_title, first_name, favorite_color) // VALUES ("King", "Arthur", "blue"); // // 创建一个 $db对象, 然后... // 以"列名"=>"数据"的格式格式构造插入数组,插入数据行 $row = array ( 'noble_title' => 'King', 'first_name' => 'Arthur', 'favorite_color' => 'blue', ); // 插入数据的数据表 $table = 'round_table'; // i插入数据行并返回行数 $rows_affected = $db->insert($table, $row); $last_insert_id = $db->lastInsertId(); ?>
如果在数据表中插入选定列 或是有暂时不想插入的列 ,需要在数据表中为暂时不想插入数据的列添加默认值,否则插入操作会出问题!