mysqli_query() 没有响应,甚至 mysqli_error() 也没有给出错误信息

Posted

技术标签:

【中文标题】mysqli_query() 没有响应,甚至 mysqli_error() 也没有给出错误信息【英文标题】:mysqli_query() giving no response, even mysqli_error() giving no error message 【发布时间】:2016-03-15 16:09:59 【问题描述】:

我正在尝试将数据插入mysqli 数据库。与数据库的连接已成功建立。但是没有插入数据。即使mysqli_eror()也没有显示任何错误。

我的代码:

<?php

  $name=$_POST['name'];
  $email=$_POST['email'];
  $password=$_POST['password'];

  $con=mysqli_connect("localhost","root","password","vote") ||
  die("couldn't connect to database");

  if(!$con)
    die("Could't connect to database. try again");
  
  else
    echo "connected to db"; /* connection established successfully */
    $query="INSERT INTO candidate(ID,name,email,password)
    VALUES(0,'$name','$email','$password' ) ";
    $result=mysqli_query($con,$query);
    echo ($result)? '1':mysqli_error($con);
  

?>

转到phpmyadmin 我运行相同的插入查询并插入了数据。

但是这段代码没有插入数据。甚至 mysqli_error($con) 返回一个 空字符串

我在Ubuntu 14.04上使用XAMPP

[如果您需要更多信息,请询问]

【问题讨论】:

从您的连接中删除 || 条件 您的建议奏效了。我删除了 || 并放入了 or 。那解决了。为什么? 因为您的条件返回 Boolean true or false 而不是 mysqli 连接对象 【参考方案1】:

我认为这是造成问题的原因,

 $con=mysqli_connect("localhost","root","password","vote") ||
      die("couldn't connect to database");

改成

 $con=mysqli_connect("localhost","root","password","vote") or
                                                           ^
      die("couldn't connect to database");

或者

$con = mysqli_connect("localhost", "root", "password", "vote");

if (mysqli_connect_errno()) 
     echo "Failed to connect to MySQL: " . mysqli_connect_error();

如果您没有看到错误,请尝试在文件中添加 error_reporting(E_ALL);

【讨论】:

感谢您的帮助。但问题出在 || 上。你能说出为什么|| 不起作用吗? ||正在返回布尔值......那是错误......如果mysqli......你需要对象......

以上是关于mysqli_query() 没有响应,甚至 mysqli_error() 也没有给出错误信息的主要内容,如果未能解决你的问题,请参考以下文章

从 mysqli_query 获取成功/失败响应

让 mysqli_query 执行的问题

姜戈。 “python manage.py runserver <my-ip>:<port>”得到“资源(<my-ip>)在线但没有响应连接尝试。”镀铬

让mysqli_query执行时出现问题[重复]

当我按下返回按钮时应用程序没有响应

事件内部功能无法正常工作