Ligar para uma function membro execute () em boolean em

Meu html:

 Email :  Message :   

Meu arquivo Rent.php:

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

Meu erro quando eu tento enviar, é: Erro fatal: Ligue para uma function de membro execute () em booleano em C: … \ rent.php na linha 18

email, msg_text está no tipo varchar

mysqli->prepare também pode retornar FALSE (ver http://php.net/manual/en/mysqli.prepare.php ) se ocorrer um erro. Seu problema é que você tem INSET vez de INSERT .

Sua declaração preparada para SQL precisa ser corrigida como disse Shudent , mas acho que você também deve definir os valores com ->bind_param() antes de chamar ->execute() (que não leva nenhum parâmetro).

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

Veja documentação e exemplo no site oficial do PHP: http://php.net/manual/fr/mysqli.prepare.php