尝试使用mysqli进行更新,方法是调用类似的类函数:
$nyVaegt = 10;
$navn = 'Ord';
$nyOevelse = new oevelse();
$nyOevelse->opdaterOevelse( $nyVaegt, $navn );
这是相应的类函数:
public function opdaterOevelse (
$nyVaegt,
$navn)
{
$this->nyVaegt = $nyVaegt;
$this->navn = $navn;
global $mysqli;
$stmtopdaterOevelseIHistorik = $mysqli->prepare("UPDATE oevelser SET `vaegt12reps`=? WHERE `navn`='?' VALUES (?, ?)");
var_dump($stmtopdaterOevelseIHistorik);
$stmtopdaterOevelseIHistorik->bind_param(
"ds",
$nyVaegt,
$navn);
$stmtopdaterOevelseIHistorik->execute();
if ( $stmtopdaterOevelseIHistorik )
echo "Query success!<br>";
else
echo "Query failed!<br>";
}
如果我像这样运行它,它就说不出来:
Call to a member function bind_param() on a non-object
错误指的是这一行:
$stmtopdaterOevelseIHistorik->bind_param(
var_dump response:bool(false)
因此,在绑定参数时出现问题,似乎。
如果我绕过变量并按这样调用:
$stmtopdaterOevelseIHistorik = $mysqli->prepare("UPDATE oevelser SET `vaegt12reps`=100 WHERE `navn`='Ord'");
它运作正常......
尝试过各种各样的'','“ - 变种,但我不能让它发挥作用...... - 你们这些优秀人才的建议......?
答案 0 :(得分:1)
据我所知,UPDATE不使用VALUES:
另外,删除='?'
中的引号,这是以下内容的主要原因:
在非对象
上调用成员函数bind_param()
将现有行更改为以下内容:
$stmtopdaterOevelseIHistorik = $mysqli->prepare("UPDATE oevelser SET `vaegt12reps`=? WHERE `navn`=?");