mysqli_stmt 无法转换为字符串

mysqli_stmt could not be converted to string

我在向 MySQL 中插入数据时遇到问题。这是错误,我找不到解决方案。 phpmyadmin 阵营和某些名称位于 :

PHPMYADMIN - 名称:

  1. 电子邮件 -> 电子邮件
  2. 密码 -> pass1
  3. nome -> nome
  4. data_de_nascimeto -> 数据
  5. 派斯 -> 派斯
  6. 贡献 -> n_contribuinte
  7. endereco -> 莫拉达
  8. codpostal -> codpostal
  9. 本地化 -> 本地化

Register.php: (<form action="registo.php" method="get">)

<button type="submit" name="submit">Enviar</button>
</form>    
<?php
                if(isset($_GET['submit'])){
                $date = mysql_real_escape_string($_GET['data']);
                $date = date('Y-m-d', strtotime(str_replace('-', '/', $date)));
                $inst=mysqli_prepare($connect,"INSERT INTO cliente(email, password, nome, pais, contribuinte, endereco, codpostal, localidade, data_de_nascimento) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
                $pw_hash=password_hash($_GET['pass1'], PASSWORD_DEFAULT);
                $inst->bind_param("ssssissss", $_GET['email'], $pw_hash, $GET_['nome'], $_GET['pais'], $GET_['n_contribuinte'], $GET_['morada'], $GET_['codpostal'], $GET_['localidade'], $date);
                if($inst->execute()==TRUE){
                    echo '<p>Registo efetuado com sucesso</p>';
                }
                else print_r($inst);

                }
?>

编辑:(print_r($inst);

mysqli_stmt Object 
( 
    [affected_rows] => -1 
    [insert_id] => 0 
    [num_rows] => 0 
    [param_count] => 9 
    [field_count] => 0 
    [errno] => 1048 
    [error] => Column 'nome' cannot be null 
    [error_list] => Array( 
                            [0] => Array( 
                                            [errno] => 1048 
                                            [sqlstate] => 23000 
                                            [error] => Column 'nome' cannot be null 
                                        ) 
                         ) 
    [sqlstate] => 23000 
    [id] => 1 
)

但是名称在输入时带有字符串。

据我所知,您的代码 bind_param 部分有错字。

你有:

$inst->bind_param("ssssissss", $_GET['email'], $pw_hash, $GET_['nome'], $_GET['pais'], $GET_['n_contribuinte'], $GET_['morada'], $GET_['codpostal'], $GET_['localidade'], $date);

您正在呼叫 $GET_['nome'] 而不是 $_GET['nome']。注意 下划线 在错误的地方。这就是为什么没有提取价值的原因。

$GET_['n_contribuinte']$GET_['morada']$GET_['codpostal']$GET_['localidade'] 相同。