【问题标题】:Cannot insert data into mySQL database: the INSERT query looks ok and the error logs won't show a thing无法将数据插入 mySQL 数据库:INSERT 查询看起来没问题,错误日志不会显示任何内容
【发布时间】:2016-07-22 03:51:51
【问题描述】:

我遇到了一个 mySQL 错误

“警告:mysqli_affected_rows() 预计 参数 1 为 mysqli,布尔值 /home/public_html/registroUsuario.php on line 22 Error Occurred 0"

有错误的文件从 html 表单中获取信息并插入到数据库中。该文件插入数据库凭据,因此,连接使用常量而不是实际值。

HTML 表单

<form name="inscripcionForm" method="POST" action ="registroUsuario.php">
<input type="email" class="form-control" name="email" id="email">
<input type="apellido" class="form-control" name="apellido" id="apellido">
<input type="nombres" class="form-control" name="nombres" id="nombres">
<input type="dni" class="form-control" name="dni" id="dni">
<input type="pass" class="form-control" name="pass" id="pass">
<button type="submit" class="btn btn-primary pull-right">Inscribirme al Curso</button>
</form>

该表格的 PHP 处理 (registroUsuario.php)

$email = strip_tags($_POST['email']);
$apellido = strip_tags(strtoupper($_POST['apellido']));
$nombres = strip_tags(ucfirst($_POST['nombres']));
$dni = strip_tags($_POST['dni']);
$pass = strip_tags($_POST['pass']);

$conectar = mysqli_connect(HOST, USER, PASS, DATABASE)
OR die('Oops! Error '.mysqli_connect_errno());

$query = "INSERT INTO usuarios (userID, userEmail, userApellido, userNombres, userDNI, userPass) VALUES ('', '$email', '$apellido', '$nombres', '$dni', '$pass')";
    $insertarBase = mysqli_query($conectar,$query);

    $affected_rows = mysqli_affected_rows($insertarBase);
        if($affected_rows == 1){
            echo 'New User!';
            mysqli_close($conectar);
        } else {
            echo 'Error Occurred '.mysqli_connect_errno();
            mysqli_close($conectar);
        }

我的错误日志没有显示任何内容,即使文件顶部有 error_reporting(E_ALL ^ E_NOTICE);

我该怎么办?查询是否构造错误?谢谢!

【问题讨论】:

  • 在访问数据库之前打印查询并将其添加到答案中!!!

标签: php mysqli


【解决方案1】:

如错误消息所述,mysqli_affected_rows 需要 mysqli 对象作为参数,而您传入​​的是布尔值。

而不是

$affected_rows = mysqli_affected_rows($insertarBase);

应该是

$affected_rows = mysqli_affected_rows($conectar);

【讨论】:

    猜你喜欢
    • 2015-12-13
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    相关资源
    最近更新 更多