Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL选择计数代码不工作_Php_Mysql_Sql_Select_Count - Fatal编程技术网

Php SQL选择计数代码不工作

Php SQL选择计数代码不工作,php,mysql,sql,select,count,Php,Mysql,Sql,Select,Count,我刚开始使用SQL和PHP,有点卡住了。我正试图计算用户名与用户表的匹配数,以便确定登录是否有效。我一直收到错误警告:mysql_fetch_数组期望参数1是resource,布尔值在第13行的/home/tommybur/public_html/pass/loginsettings.php中给出 我看过其他一些人,他们也有类似的问题,但无法找到任何解决方案。 我的代码在这里: <?php session_start(); $con=mysqli_connect("Database Stu

我刚开始使用SQL和PHP,有点卡住了。我正试图计算用户名与用户表的匹配数,以便确定登录是否有效。我一直收到错误警告:mysql_fetch_数组期望参数1是resource,布尔值在第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";
  }
  ?>
有人能给我指一下正确的方向吗

谢谢, 汤米

试试这个查询

SELECT COUNT(UserID) as UserID FROM Users WHERE UserID = '$specuser'
另外,当您从$\u请求中获得$specuser时,应该从SQL注入中转义数据库,如

$specuser=mysqli\u real\u escape\u字符串$con,$\u请求['usr']


。阅读此->

我假设您希望将countUserID别名为UserID,如果需要,您需要在select语句中的countUserID和UserID之间添加as:

$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>";

SQL语句格式不正确-countUserID和UserID之间缺少逗号。尽管如此,您并没有对查询进行任何错误检查。应该是从UserID=[$specuser]仍然不工作的用户中选择countUserID作为num\u users,即使进行了更正。关于如何解决此问题,请参阅的可能重复项。我根据您的建议更改了代码,现在使用$number=mysql\u fetch\u row$result;但它仍然不起作用。有什么想法吗?请尝试var_dump$result;在mysqli_查询行之后,查看您是否实际获得了查询结果。可能是您的查询没有返回任何结果。这只会给我带来以下错误:解析错误:语法错误,第12行的/home/tommybur/public\u html/pass/loginsettings.php中意外的T_变量第12行是包含var_dump$result的行;糟糕的是,我没有添加括号,因为var_dump是一个函数:。请使用以下内容并发布您的结果:var_dump$result;我现在收到以下两条错误消息。objectmysqli_result2 5{[current_field]=>int0[field_count]=>int1[Length]=>NULL[num_rows]=>int1[type]=>int0}警告:mysql_fetch_row希望参数1是资源,第13行/home/tommybur/public_html/pass/loginsettings.php中给出的对象致命错误:无法在第14行第13行和第14行的/home/tommybur/public_html/pass/loginsettings.php中使用mysqli_result类型的对象作为数组:$number=mysql_fetch_row$result;用户表中记录的回显匹配数=$结果[0]。;
echo "Matching number of records in Users table = ". $number[0]."<br>";