Depuis mysqli::prepare
documentation
:
Les marqueurs de paramètre doivent être liés aux variables d'application à l'aide de mysqli_stmt_bind_param() et/ou mysqli_stmt_bind_result() avant d'exécuter l'instruction ou de récupérer des lignes.
c'est-à-dire :
$name = 'one';
$age = 1;
$stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?,?)");
// bind parameters. I'm guessing 'string' & 'integer', but read documentation.
$stmt->bind_param('si', $name, $age);
// *now* we can execute
$stmt->execute();