php - SQL选择计数代码不起作用

标签 php mysql sql select count

我刚刚开始使用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语句的ascount(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/

相关文章:

php - 自定义日志记录 - CakePHP (1.3)

php - 悬停时内联样式背景更改

php - 在 PHP 中生成带有命名空间 URI 的 XML

php - 变量在某处为 "lost",然后重新出现......所有都没有抛出错误

mysql - 无法弄清楚如何在 MySQL 中生成子采样 View

php - 使用 MySQL 和 PHP 计算总数而不重复

php - MySQL GROUP BY 花费大量时间来获取记录

sql - 在SQL中使用多个内部联接

java - 如何在 JpaRepository 上运行自定义更新查询?(TransactionRequiredException)

sql - 我应该如何组织我的主 ddl 脚本