您的位置 首页 MySql

php – 如何将行数组传递给PDO以插入它们?

我想使用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));

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章