dongmu9253 2018-03-27 21:39
浏览 54
已采纳

准备声明准备错误[重复]

insert-admin.php

<?php

    $usuario =  $_POST['usuario'] ;
    $nombre =  $_POST['nombre'] ;
    $contraseña = $_POST['contraseña'];

    $opciones = array( 'cost' => 12 );
    $contraseña_hash = password_hash($contraseña, PASSWORD_BCRYPT, $opciones);

try {
    include_once 'funciones/funciones.php';
    $sql = "INSERT INTO admins (usuario, nombre, contraseña) VALUES (?, ?, ?)";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("sss", $usuario, $nombre, $contraseña);
    $stmt->execute();
    $stmt->close();
    $conn->close();
} catch (Exception $e) {
    echo "error: " . $e->getMessage(); 
}

The include_once file:

<?php

$conn = new mysqli('localhost', 'root', '', 'gdlwebcamp');

if ($conn->connect_error) {
    echo $error-> $conn->connect_error;
}

the query can not be executed because the bind_param receives a false.

Error: Fatal error: Uncaught Error: Call to a member function bind_param() on boolean in C:\xampp\htdocs\conferencias\dashboard\insertar-admin.php:14 Stack trace: #0 {main} thrown in C:\xampp\htdocs\conferencias\dashboard\insertar-admin.php on line 14

</div>
  • 写回答

1条回答 默认 最新

  • dos71253 2018-03-27 21:43
    关注

    The reason for the error is that the call to $conn->prepare fails. Seeing that this is a mysqli code - check the error after calling prepare:

    $stmt = $conn->prepare($sql);
    if ($stmt === false) {
        var_dump($conn->error);
    }
    

    Additionally, your call to bind_param doesn't seem right.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码