【发布时间】:2020-12-17 14:33:13
【问题描述】:
我正在用 PHP 编写我的网络应用程序,当我运行我的脚本时,我遇到了这个错误: 数组到字符串的转换
这是引发错误的脚本。
public function insert($table, array $columns, array $values) {
$sql = "INSERT INTO " . $table .
" (" . implode(',' , $columns) . " )
VALUES (" . implode(',',
$values) . ")";
$this->request($sql);
}
这里是请求函数:
public function request($sql, $param = null) {
if ($param == null) {
$query = Database::getInstance()->getDb()->query($sql);
}
else {
$query = Database::getInstance()->getDb()->prepare($sql);
$query->execute(array($param));
}
return $query;
}
注意:我正在使用自己的 MVC 框架。
那么,任何建议或帮助都将不胜感激?
问候
YT
【问题讨论】:
-
帮自己一个忙,开始使用准备好的语句。它们可用于大多数 RDBMS,并受 mysqli 和 PDO API 的支持。
-
另外,哪一行代码给了你这个错误?您的查询看起来应该产生一个有效的字符串。 sandbox.onlinephpfunctions.com/code/…
-
抱歉,如果您通过
$params,刚刚看到您的请求方法正在使用准备好的语句。在这种情况下,你为什么不通过参数?我会更改您的 insert 语句,使其生成INSERT INTO ... (...) VALUES (?, ?, ?, ...),然后将值作为$params传递。 -
在这里查看我的代码phpize.online/… 它可以阻止你吗?
标签: php arrays string error-handling