$db_col=$_POST['db_col']; //string
$db_val=$_POST['db_val']; //string
$name=$_POST['name']; //string
// connect to db
$query="UPDATE `table`.`person` SET `$db_col` = ? WHERE CONCAT(first, ' ', last) = ?;";
$stmt = $web_dbi->prepare($query);
$stmt->bind_param("ss", $db_val, $name);
$stmt->execute();
获取错误:
在非对象
上调用成员函数bind_param()
答案 0 :(得分:1)
您的SQL语句不正确:
$query="UPDATE `table`.`person` SET `$db_col` = ? WHERE CONCAT(first, ' ', last) = ?;";
格式为:
UPDATE table SET column = ? WHERE [conditional];
table
和person
之间有一个点,我不知道为什么你只能一个一个地更新一个表而另一个是另一个表,这是另一个错误。
如果这还没有解决问题,请执行以下操作:
echo "query is: ".$query."<br>";
在您编写查询之后,将输出粘贴到此处,这样我们就可以确切地看到数据库看到的内容以及错误所在的位置:)
如果能为您解决问题,请告诉我们!