Tem que ver se $stmt é válido, talvez a sua SQL esteja com problemas.
Dê um var_dump($stmt) para ver o resultado.
L
Luan_Saboia
Eu inseri dessa forma var_dump($stmt) ->bind_param('ss', $sobrenome, $cidade);
E ao tentar inserir os valores retorna o mesmo erro, mas ele retorna bool(false) também
É uma hospedagem no 000webhost e o banco é MySql pelo phpMyAdmin
Dragoon
Tem problemas ele não está retornar corretamente, o problema talvez seja na SQL, mas, não posso afirmar, ou aqui $obj_mysqli->prepare você poderia colocar o código inteiro?
L
Luan_Saboia
Código PHP:
<?php$obj_mysqli=newmysqli("localhost","id8711273_server","*******","server");if($obj_mysqli->connect_errno){echo"Ocorreu um erro na conexão com o banco de dados.";exit;}mysqli_set_charset($obj_mysqli,'utf8');//Incluímos um código aqui...$id=-1;$sobrenome="";$cidade="";//Validando a existência dos dadosif(isset($_POST["sobrenome"])&&isset($_POST["cidade"])){if(empty($_POST["sobrenome"]))$erro="Campo email obrigatório";elseif(empty($_POST["cidade"]))$erro="Campo senha obrigatório";else{//Alterou aqui também.//Agora, o $id, pode vir com o valor -1, que nos indica novo registro, //ou, vir com um valor diferente de -1, ou seja, //o código do registro no banco, que nos indica alteração dos dados.$id=$_POST["id"];$sobrenome=$_POST["sobrenome"];$cidade=$_POST["cidade"];//Se o id for -1, vamos realizar o cadastro ou alteração dos dados enviados.if($id==-1){$stmt=$obj_mysqli->prepare("INSERT INTO usuario (sobrenome, cidade) VALUES (?,?)");//var_dump($stmp) // return false;$stmt->bind_param('ss',$sobrenome,$cidade);if(!$stmt->execute()){$erro=$stmt->error;}}else{$erro="Número inválido";}}}?>
Tem meu comentários no código. O que acho estranho é que em teste local na minha máquina pelo Xampp ele funciona normalmente que isso seria um cadastro bem básico de dois campos e quando coloquei online acabou acontecendo isso.
Dragoon
Talvez é algo no servidor, já conferiu todas as coisas, tabelas, configurações, etc?
Código me parece certo e já que funciona local é algo no servidor!
L
Luan_Saboia
Eu fiz testes no próprio phpMyAdmin tentando adicionar manualmente e consegui, mas não compreendo o que pode causar esse erro ainda se o BD funciona manual.
Foi besteira, no meu local o BD era server e no web ficou id8711273_server, ai eu colocava o usuário e errava o nome. Muito vacilo meu, obrigado pela ajuda.