php数据库插入函数
我正在浏览nettuts.com上的一篇文章,这篇文章是关于构建一个twitter克隆的,代码中有一个函数,可以在数据库中进行标准插入php数据库插入函数,php,sql,Php,Sql,我正在浏览nettuts.com上的一篇文章,这篇文章是关于构建一个twitter克隆的,代码中有一个函数,可以在数据库中进行标准插入 private function insert($table, $arr){ $query = "INSERT INTO" . $table . " ("; $pref = ""; foreach ($arr as $key => $value) { $query
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变量。有人能解释一下它的用途吗?这是一种在
值('like'、'this'、'and'、'this')中的值之间只使用逗号的方法。
由于$pref
第一次作为值时仍设置为“”,并且键被附加到$query
中,因此除了第一个逗号外,它们的值前始终有一个逗号:
$query .= $pref . $key;
$pref = ", ";
代码中的愚蠢错误
$query = "INSERT INTO" . $table . " (";
需要空间后进入
$query = "INSERT INTO " . $table . " (";
$query .= ") VALUES (";
$query .= ");";
您还可以使用introde()函数从$arr数组创建字符串
implode(", ", array_keys($arr));
这是一种非常不寻常但非常有用的方法,可以在列表中的参数之间放置逗号,而不以逗号开头或结尾。它将逗号添加到每个元素的前面,但第一个元素除外:
1,2,3,4,5
必须是一个非常古老的教程,因为它上面写满了SQL注入。看看PDO,并尝试将其用于twitter克隆。不要学坏习惯。当你进步的时候,他们是很难忘记的!好的,现在我看到它的作用了$pref=“”,因此第一个元素上没有逗号。谢谢!我已经测试了您的代码$table='users';$arr=array('id'=>7,'name'=>nanhe','email'=>nanhe26');回波插入($table,$arr);在用户(id、姓名、电子邮件)中插入值(“7”、“南和”、“南和26”);太完美了