问题
希望增加、删除或修改SQL数据库中的数据。
解决方案
使用PD0::exec()发送一个INSERT、DELETE或UPDATE命令。
使用PDO::exec()
$db->exec("INSERT INTo family (id,name) VALUES(1,'Vito')");
$db->exec("DELETE FROM family WHERE name LIKE 'Fredo'");
$db->exec("UPDATE family SET is_naive = 1 WHERE name LIKE 'Kay'");
还可以用PD0::prepare()准备查询,并用PD0Statement::execute()来执行
准备和执行查询
$st =$db->prepare('INSERT INTo family (id,name) VALUES(?,?)");
$st->execute(array(1,'Vito'));
$st =$db->prepare('DELETE FROM family WHERE name LIKE ?');
$st->execute(array('Fredo'));
$st =$db->prepare('UPDATE family SET is_naive = ? WHERE name LIKE ?');
$st->execute(array(1,'Kay'));
exec()方法将传入的查询发送到数据库。对于INSERT、UPDATE和DELETE查询,它会返回受这个查询影响的行数。
prepare()和execute()方法对于希望执行多次的查询尤其有用。一旦准备好一个查询无需重新准备就可以用新值再次执行这个查询。
重用已准备语句
$st=$db->prepare('DELETE FROM family WHERE name LIKE ?');
$st->execute(array('Fredo'));
$st->execute(array('Sonny'));
$st->execute(array('Luca Brasi'));