我愚蠢地编写OO PHP,每个对象对应MySQL数据库中的一个表。有一种简单的方法可以将记录加载到内存中,例如$this->dbrecord=$result->fetch_assoc();
,但是如果我想反过来并将数组放回数据库中,那么似乎没有一种简单的方法可以这样做,特别是因为您不能使用列名称的参数,也就是说
$query=$sql->prepare("UPDATE ? SET ?=?");
$query->bind_param("sss", $this->table, $key, $value);
foreach ($dbrecord as $key => $value){
$query->execute();
}
不起作用,所以我必须使用不安全和丑陋的查询拼接,我将各个值放入一个字符串,然后将字符串传递给MySQL服务器。
我的问题是:有没有办法优雅地做到这一点?如果有类似mysqli_stmt :: put_array($ array)的东西,这将是理想的,但如果没有,必须有一些方法来编写一个通用函数来做这样的事情,对吧?我没想到的东西?