php数据库插入功能

时间:2013-03-14 21:24:03

标签: php sql

我正在浏览nettuts.com上的一篇文章,它是关于构建一个twitter克隆,代码中有一个函数可以对数据库进行标准插入。这是代码

    private function insert($table, $arr){

        $query = "INSERT INTO" . $table . " (";
        $pref = "";

        foreach ($arr as $key => $value) {
                $query .= $pref . $key;
                $pref = ", ";
            }
            $query .= ") VALUES (";
            $pref = "";
            foreach ($arr as $key => $value) {
                $query .= $pref. "'" . $value . "'";
                $pref = ", ";
            }
            $query = .= ");";
            return $this->db->query($query);
    }

我无法理解的是$ pref变量。有人向我解释其目的吗?

3 个答案:

答案 0 :(得分:0)

这是一种只在VALUES('like','this','and','this')中的值之间使用逗号的方法 因为$pref仍然设置为“”第一次它的值而密钥被附加到$query,所以除了第一个值之外,它们总是会有一个逗号:

    $query .= $pref . $key;
    $pref = ", ";

答案 1 :(得分:0)

代码中的愚蠢错误

$query = "INSERT INTO" . $table . " (";

INTO之后需要空格

$query = "INSERT INTO " . $table . " (";
$query .= ") VALUES (";
$query  .= ");";

答案 2 :(得分:0)

你也可以使用implode()函数http://php.net/manual/en/function.implode.php从$ arr数组创建一个字符串!

  implode(", ", array_keys($arr));