我的 INSERT 查询有问题。它返回 false 并且不会向数据库中插入任何内容。
我已连接到数据库,其他删除和更新查询正在运行,但插入却不起作用。
这是我准备并运行插入查询的函数:
Autoloader::Load('HandleDB/InsertDB');
$insert = new InsertDB();
echo "<p>data:</p>";
var_dump($data);
echo "<p>prepare</p>";
var_dump($statment = $this->db->prepare($insert->Run($tableName, $data)));
echo "<p>prepare execute</p>";
var_dump($insert->PrepareExecute($data));
echo "<p>execute result:</p>";
var_dump($statment->execute($insert->PrepareExecute($data)));
该函数的结果是:
data:
array(3) { ["imie"]=> string(4) "user" ["login"]=> string(9) "loginname" ["password"]=> string(4) "pass" }
prepare
object(PDOStatement)#9 (1) { ["queryString"]=> string(80) "INSERT INTO uzytkownik (imie, login, password) VALUES (:imie, :login, :password)" }
prepare execute
array(3) { ["imie"]=> string(4) "user" ["login"]=> string(9) "loginname" ["password"]=> string(4) "pass" }
execute result:
bool(false)
最佳答案
使用MVC模型和PDO,我同学写的文件。其他文件、函数和查询工作正常。就这个。
该函数从表单获取 $data 作为参数。
表结构:
表名称“uzytkownik”:
- ID(自动增量)
- imie
- 登录
- 哈斯洛
关于php - PDO插入语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35505088/