我的html:
<form action="rent.php" method="post"><pre> Email : <input type="text" name="email"> Message : <input type="text" name="msg_text"> <input type="submit" value="Rent it"> </pre></form>
我的rent.php文件:
<?php require_once 'login.php'; $conn = new mysqli($hn, $un, $pw, $db); if ($conn->connect_error) { die($conn->connect_error); } $query = "SET NAMES utf8"; $result = $conn->query($query); if (!$result) { die($conn->error); } $req = $conn->prepare('INSET INTO renter (email, msg_text) VALUES(?, ?)'); $req->execute(array($_POST['email'], $_POST['msg_text'])); header('Location: menu.php');
当我尝试提交时,我的错误是:致命错误:在第18行的C:… \ rent.php中,调用布尔函数的成员函数execute()
电子邮件,msg_text为varchar类型
mysqli->prepare如果发生错误,也可以返回FALSE(检查http://php.net/manual/en/mysqli.prepare.php)。您的问题是您拥有INSET而不是INSERT。
mysqli->prepare
FALSE
INSET
INSERT