2016-02-01 35 views
4

我的HTML:调用一个成员函数的execute()布尔在

<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'); 

我的错误,当我试图提交,是:致命错误:调用一个成员函数用C执行()上布尔:... \上线18 rent.php

电子邮件,msg_text是VARCHAR类型

+0

只是一个真正的坏错字。 –

回答

1

你的SQL语句编写需要更正为shudent说,但我想你也有叫->execute()(不带任何参数)之前设置与->bind_param()值。

$stmt = $conn->prepare('INSERT INTO renter (email, msg_text) VALUES(?, ?)'); 
$stmt->bind_param("ss", $_POST['email'], $_POST['msg_text']); 
$stmt->execute(); 

查看文档和示例在PHP官方网站:http://php.net/manual/fr/mysqli.prepare.php

相关问题