我用PDO创建了一个新函数,用于在我的数据库中插入数据。
该功能如下所示
function insert($table,$column = array(),$value = array())
{
$array1 = implode(",", $column);
$array2 = implode(",", $value);
try
{
$sql = $this->connect->query("INSERT INTO $table ($array1) VALUES ($array2)");
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
以及对此函数的调用
-> insert('coupons',array('categorie','name','link','code','id'),array('test11','test','test','test','NULL'));
但毕竟,它似乎不起作用,并没有显示任何错误。有人给我一些积分,我应该在哪里搜索错误?当我编写查询/ wo varibales并调用函数时,它可以工作。即使使用前两个变量也可以。只有最后一个($ array2)似乎有一个“bug”。
答案 0 :(得分:1)
您正在插入字符串,这意味着您的查询已经出现
INSERT INTO coupons (categorie, name, ...) VALUES (test11, test, ...)
裸字符串被解释为字段/表名称,这意味着您的查询完全无效。
至少,忽略此代码的所有其他问题,修复将是
$array2 = implode("','", $value);
^-^---
INSERT INTO $table ($array) VALUES ('$array2');
^-- ^--
当然,这是忽略了sql注入漏洞,关键字问题,等等等等。