首页 文章

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

提问于
浏览
-3

这个问题在这里已有答案:

插入-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(); 
}

include_once文件:

<?php

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

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

无法执行查询,因为bind_param收到false .

错误:致命错误:未捕获错误:在C:\ xampp \ htdocs \ conferencias \ dashboard \ insertar-admin.php中调用boolean上的成员函数bind_param():14堆栈跟踪:在C中抛出#0 :第14行\ xampp \ htdocs \ conferencias \ dashboard \ insertar-admin.php

1 回答

  • 0

    出错的原因是对 $conn->prepare 的调用失败 . 看到这是一个 mysqli 代码 - 在调用 prepare 后检查错误:

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

    此外,您对 bind_param 的调用似乎不对 .

相关问题