execute()期望0个参数,1给定(MySQLi)?

时间:2013-12-31 08:28:58

标签: php mysql sql

在我在Mysqli的编码路径中,我感到难过,似乎无法弄清楚错误是什么意思我已多次尝试过,所有这些都以失败告终,作为最后的手段来到stackoverflow希望我能弄清楚如何解决这个问题所以如果有人愿意花一点时间来帮助错误,那么似乎就是这样:

Warning: mysqli_stmt::execute() expects exactly 0 parameters, 1 given in /home/test/private_html/test.php on line 58

我尝试多次修复的代码就是这样

非常感谢任何帮助!

编辑:

哦,我现在解决了问题,感谢所有的帮助,但是我想知道如何执行2个stmt命令?

3 个答案:

答案 0 :(得分:4)

应该是:

$stmt->execute();

在致电execute时,您未提供这些值,而在您致电bind_param时提供了这些值。

好像你把mysqli与PDO搞混了。

答案 1 :(得分:1)

$stmt->execute();

这已经足够了。

答案 2 :(得分:1)

$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();