mysqli_query和结果的奇怪错误

时间:2019-03-25 01:10:27

标签: php mysql sql

使用PHP将新数据插入MySQL数据库时,突然收到一个非常奇怪的错误。我在同一数据库的另一个表上使用了相同的代码,并且工作正常。 $ db信息是从“ require”文件中提取的,并且是正确的。我可以连接到数据库就好了。这是两个错误:

  

警告:mysqli_query()至少需要2个参数,其中1个在   /post.php,第70行

     

警告:mysqli_free_result()期望参数1为mysqli_result,   在第72行的/post.php中给出的布尔值

下面的代码,将不胜感激。

$db = mysqli_connect($dbasehost, $dbaseuser, $dbasepass, $dbasename);

$query = "INSERT INTO memories (emailaddress, recname, recemail, tel, memory, sendsms, sendemail, repeating, repeatoption, quantity, startdate, sendtime, security) VALUES ('$emailaddress', '$recname', '$recemail', '$tel', '$memory', '$sendsms', '$sendemail', '$repeating', '$repeatoption', '$quantity', '$startdate', '$sendtime', '$security');";

$result = mysqli_query($db, $query);
mysqli_query("COMMIT");

mysqli_free_result($result);
mysqli_close($db);

2 个答案:

答案 0 :(得分:1)

为什么最后在插入查询中添加了分号

$query = "INSERT INTO memories (emailaddress, recname, recemail, tel, memory, sendsms, sendemail, repeating, repeatoption, quantity, startdate, sendtime, security) VALUES ('$emailaddress', '$recname', '$recemail', '$tel', '$memory', '$sendsms', '$sendemail', '$repeating', '$repeatoption', '$quantity', '$startdate', '$sendtime', '$security');";

删除倒数第二个分号,然后尝试:

$query = "INSERT INTO memories (emailaddress, recname, recemail, tel, memory, sendsms, sendemail, repeating, repeatoption, quantity, startdate, sendtime, security) VALUES ('$emailaddress', '$recname', '$recemail', '$tel', '$memory', '$sendsms', '$sendemail', '$repeating', '$repeatoption', '$quantity', '$startdate', '$sendtime', '$security')";

答案 1 :(得分:1)

运行查询以插入数据库时​​,它返回一个布尔值。如果成功则为true,否则为false,因此无法对用于插入数据库的查询执行mysqli_free_result,因为它不包含mysqli_result,它只是一个布尔值

相关问题