execute() 需要 0 个参数,给定 1 个参数(MySQLi)?

Mic*_*elG 0 php mysqli

在我在 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)

Bar*_*mar 6

它应该是:

$stmt->execute();
Run Code Online (Sandbox Code Playgroud)

您在调用 时不提供值execute,而是在调用时提供它们bind_param

似乎您将 mysqli 与 PDO 混淆了。