【问题标题】:mysqli_query() giving no response, even mysqli_error() giving no error messagemysqli_query() 没有响应,甚至 mysqli_error() 也没有给出错误信息
【发布时间】: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 连接对象

标签: php mysqli xampp ubuntu-14.04


【解决方案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......你需要对象......
猜你喜欢
  • 2020-11-25
  • 1970-01-01
  • 2011-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多