我刚刚开始使用SQL和PHP,并且变得有点卡住了。我正在尝试计算用户名与用户表的匹配数,因此我可以确定它是否对登录有效。我不断收到错误消息“警告:mysql_fetch_array()期望参数1为资源,在第13行的/home/tommybur/public_html/pass/loginsettings.php中给出布尔值”
我看过其他一些遇到类似问题但无法获得任何解决方案的人。
我的代码在这里:
<?php
session_start();
$con=mysqli_connect("Database Stuff");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$specuser=$_REQUEST['usr'];
$result = mysqli_query($con,"Select count(UserID) UserID from Users where UserID = [$specuser]");
$number = mysql_fetch_array($result);
echo "Matching number of records in Users table = ". $number."<br>";
echo "$number";
if ($number < 1) {
echo "Username is wrong";
}
else {
echo "Username is correct";
}
?>
有人可以指出我正确的方向吗?
谢谢,
汤米
最佳答案
我假设您想将count(UserID)
作为UserID
的别名,如果这样,您需要在select语句的as
和count(UserID)
之间添加UserID
:
$result = mysqli_query($con,"Select count(UserID) as UserID from Users where UserID = [$specuser]");
$number = mysqli_fetch_array($result);
echo "Matching number of records in Users table = ". $number."<br>";
另外要指出的是您的
UserID = [$specuser]
。您的UserID
列不是数字吗?您是否故意在[]
周围添加$specuser
?如果您的查询中有记录,
mysql_fetch_array
也会返回一个数组,否则返回false。请在此处参考文档:http://php.net/manual/en/function.mysql-fetch-array.php。您应该执行以下操作:echo "Matching number of records in Users table = ". $number[0]."<br>";
关于php - SQL选择计数代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17453578/