MySQL:PHP:由于警告,无法从表中获取数据
Posted
技术标签:
【中文标题】MySQL:PHP:由于警告,无法从表中获取数据【英文标题】:MySQL: PHP: Cannot obtain data from table because of warnings 【发布时间】:2015-10-14 22:05:53 【问题描述】:我正在尝试从 mysql 数据库中的表用户获取数据。使用下面的代码,我可以登录到数据库(不返回错误),但是当我尝试从表中读取数据时它会显示警告(在这种情况下,我只需选择行来检查代码是否作品)。代码如下:
<?php
$host_name = "localhost";
$database = "aj_database";
$user_name = "aj_user";
$password = "password";
$connect = mysqli_connect($host_name, $user_name, $password, $database);
if (mysqli_connect_errno())
echo "The connection failed: " . mysqli_connect_error();
$username = $_GET["username"];
$password = $_GET["password"];
$query = ("SELECT * FROM users WHERE username = 'admin'");
$insert = mysql_query ($query);
if(mysql_num_rows($query) == 0)
echo "NO";
else
echo "YES!!!!!!!!";
?>
使用上面的代码,我得到以下结果:
警告:mysql_query() [function.mysql-query]:第 18 行 /home/adamjudk/public_html/airlinessimulator/login.php 中的用户 'root'@'localhost'(使用密码:NO)的访问被拒绝
警告:mysql_query() [function.mysql-query]:无法在第 18 行的 /home/adamjudk/public_html/airlinessimulator/login.php 中建立到服务器的链接
警告:mysql_num_rows() 期望参数 1 是资源,字符串在第 20 行的 /home/adamjudk/public_html/airlinessimulator/login.php 中给出
并且返回的结果是在这些错误之后
没有
我做错了什么?
【问题讨论】:
这个错误是由于密码错误或类似的原因 你混合mysql_*
和mysqli_*
首先尝试登录phpmyadmin,它工作正常。如果没有,请告诉我我给你解决方案
Fix Access denied for user 'root'@'localhost' for phpMyAdmin 的可能重复项
@AdamJ 也请投票支持我的答案。如果你觉得它有用。
【参考方案1】:
您使用的是mysql_query()
而不是mysqli_query()
并使用if(mysql_num_rows($query) == 0)
而不是if(mysqli_num_rows($query) == 0)
。
试试快速更新的代码。
$host_name = "localhost";
$database = "aj_database";
$user_name = "aj_user";
$password = "password";
$connect = mysqli_connect($host_name, $user_name, $password, $database);
if (mysqli_connect_errno())
echo "The connection failed: " . mysqli_connect_error();
$username = $_GET["username"];
$password = $_GET["password"];
$query = "SELECT * FROM users WHERE username = 'admin'";
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) == 0)
echo "NO";
else
echo "YES!!!!!!!!";
【讨论】:
这仍然会导致 NO,因为 mysql_num_rows($query) 完全是错误的 @GerdK 我已经改成if(mysqli_num_rows($query)
,但现在我的回答中也提到了。
@GerdK 抱歉,知道了。以上是关于MySQL:PHP:由于警告,无法从表中获取数据的主要内容,如果未能解决你的问题,请参考以下文章