在我在 Mysqli 中进行编码的过程中,我一直被难住,似乎无法弄清楚错误想说的是什么:
Warning: mysqli_stmt::execute() expects exactly 0 parameters, 1 given in /home/test/private_html/test.php on line 58
Run Code Online (Sandbox Code Playgroud)
我多次尝试修复的代码是这样
$stmt = $mysqli->prepare("INSERT INTO `test_table`(datenow,test1,test2,test3,test4,test5,test6,test7,test8,
test9,test10,test11,test12,test14,test15,test16,test17,test18,)
VALUES (CURRENT_TIMESTAMP, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
$stmt->bind_param('ssssssssssssssssss',$test1,$test2,$test3,$test4,$test5,$test6,$test7,$test8,$test9,$test10,$test11,$test12,$test13,$test14, $test15,$test16,$test17,$test18);
$stmt->execute(array($test1,$test2,$test3,$test4,$test5,$test6,$test7,$test8,$test9,$test10,$test11,$test12,$test13,$test14,$test15, $test16,$test17,$test18
));
Run Code Online (Sandbox Code Playgroud)
第 58 行将是:
));
Run Code Online (Sandbox Code Playgroud)
它应该是:
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)
您在调用 时不提供值execute,而是在调用时提供它们bind_param。
似乎您将 mysqli 与 PDO 混淆了。