我想使用PDO预处理语句,但我觉得打字非常耗时.如果有一个函数只传递以下关联数组,那将是非常有用的:
array(
"title"=>$title
"userid"=>$userid
"post"=>$body
)
请记住,数组中的键始终与sql表中的行匹配.重新考虑一切,这应该切断键入:foo并在execute函数中再次键入它们的努力.
我特别谈到INSERT查询.
怎么做?
最佳答案
function pdo_insert($table,$arr=array())
{
if (!is_array($arr) || !count($arr)) return false;
// your pdo connection
$dbh = '...';
$bind = ':'.implode(',:',array_keys($arr));
$sql = 'insert into '.$table.'('.implode(',',array_keys($arr)).') '.
'values ('.$bind.')';
$stmt = $dbh->prepare($sql);
$stmt->execute(array_combine(explode(',$bind),array_values($arr)));
if ($stmt->rowCount() > 0)
{
return true;
}
return false;
}
pdo_insert($table,array('title'=>$title,'userid'=>$user_id,'post'=>$body));