MySqli为值返回NULL,无法插入或选择

时间:2015-12-08 14:21:45

标签: php mysql mysqli

我的问题是我的数据库没有错误,仍然忽略我的插入,选择等。 所以我尝试了var_dump()并为所有变量赋予NULL。这是我的连接查询:

 $this->conexao = new mysqli('localhost:3307','root','', 'construsite');

这是错误的,我想:

 public 'conexao' => 
 object(mysqli)[2]
  public 'affected_rows' => null
  public 'client_info' => null
  public 'client_version' => null
  public 'connect_errno' => null
  public 'connect_error' => null
  public 'errno' => null
  public 'error' => null
  public 'error_list' => null
  public 'field_count' => null
  public 'host_info' => null
  public 'info' => null
  public 'insert_id' => null
  public 'server_info' => null
  public 'server_version' => null
  public 'stat' => null
  public 'sqlstate' => null
  public 'protocol_version' => null
  public 'thread_id' => null
  public 'warning_count' => null

我的插入函数被忽略了:

public function registro(){
    //comando sql para inserir novo cliente
    $comando = "INSERT INTO clientes(id, nome_cliente, email_cliente, telefone_cliente, senha_cliente, data_nasc_cliente) "
    . "VALUES (NULL, '$this->nome_cliente', '$this->email_cliente', '$this->telefone_cliente', '$this->senha_cliente', STR_TO_DATE( '$this->data_nasc_cliente', '%Y/%d/%m')";
    //executa o comando
    $registro_resultado = $this->conexao->query($comando); //executa o comando
    return $registro_resultado;
}

我试图在谷歌和这里找到但我不能。 (对不起,我的英文不好!!)

1 个答案:

答案 0 :(得分:0)

Id是主键,主键不接受null。如果你的主键自动增加,那么从插入查询中删除id。

$comando = "INSERT INTO clientes(nome_cliente, email_cliente, telefone_cliente, senha_cliente, data_nasc_cliente) "
    . "VALUES ('$this->nome_cliente', '$this->email_cliente', '$this->telefone_cliente', '$this->senha_cliente', STR_TO_DATE( '$this->data_nasc_cliente', '%Y/%d/%m'))";