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() 也没有给出错误信息的主要内容,如果未能解决你的问题,请参考以下文章
姜戈。 “python manage.py runserver <my-ip>:<port>”得到“资源(<my-ip>)在线但没有响应连接尝试。”镀铬