trying to do an update using mysqli, by calling a class function like this:
$nyVaegt = 10;
$navn = 'Ord';
$nyOevelse = new oevelse();
$nyOevelse->opdaterOevelse( $nyVaegt, $navn );
And this is the corresponding class function:
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>";
}
If I run it like this, it fails saying that:
Call to a member function bind_param() on a non-object
The error refers to this line:
$stmtopdaterOevelseIHistorik->bind_param(
var_dump responds: bool(false)
So, something goes wrong while binding the parameters, it seems.
If I bypass the variables and call like this:
$stmtopdaterOevelseIHistorik = $mysqli->prepare("UPDATE oevelser SET `vaegt12reps`=100 WHERE `navn`='Ord'");
it works fine...
Tried all kinds of '', ""-variations, but I can't make it work... - any advice from you good people of SO...?
$stmtopdaterOevelseIHistorikis null.. step back until you find where it SHOULD be set.$mysqli->prepare().. ok that's failing. Let's look up the docs. "Returns FALSE if an error occurred" - OK how do I debug a false return value from prepare()... go from there