Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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 我想搜索和显示数据库中的数据,但它给了我错误_Php_Html - Fatal编程技术网

Php 我想搜索和显示数据库中的数据,但它给了我错误

Php 我想搜索和显示数据库中的数据,但它给了我错误,php,html,Php,Html,这是我的search_candidate.php文件 <?php $name = $_GET['name']; $sql = "SELECT * FROM candidates WHERE Name = $name"; $query = mysql_query( $sql ); if(mysql_num_rows($query) == "") { echo "no result found";

这是我的search_candidate.php文件

<?php

   $name = $_GET['name'];
   $sql = "SELECT * FROM candidates WHERE Name = $name";
   $query = mysql_query( $sql );
          if(mysql_num_rows($query) == "")
          {
          echo "no result found";
          }
          echo "<table>";

          echo "<thead></thead>";
                while( $row = mysql_fetch_array( $query ) )
                     {
                      echo "<tr></tr>";
                     }
          echo "</table>";
?>
$name是一个字符串,需要用引号括起来,如“$name”

但即使在修复之后,你也不会得到任何东西,因为你的循环不会打印任何数据。它只打开和关闭新行,内部没有任何内容


名称似乎是字符串,所以在查询中向$name添加引号


注意:-mysql_*已被弃用,请使用mysqli_*或PDO

试试这段代码,它会起作用的

<?php

   $name = $_GET['name'];
   $sql = "SELECT * FROM candidates WHERE Name = '$name'";
   $query = mysql_query( $sql );
          if(mysql_num_rows($query) == "")
          {
          echo "no result found";
          }
          echo "<table>";

          echo "<thead></thead>";
                while( $row = mysql_fetch_array( $query ) )
                     {
                      echo "<tr><td>".$row['name']."</td></tr>";
                     }
          echo "</table>";
?>
从问题中复制代码并对2个错误进行更改$name字符串必须在引号中并添加。$row['name']。在你的循环中显示一些东西


您的代码允许任何人进行注入,因此请尝试使用或连接。

您是否收到任何syntex错误?$query=mysql\u query$sql或diemysql\u错误;并查看未检查的错误。请。它们不再得到维护,而是在使用。而是学习,并使用。为什么会被否决?@Fred ii-人们不喜欢帮助,所以..我知道这种感觉。一定是喝了不好的咖啡。请不要对这么快的落选做出评判。我会告诉你为什么这被否决了。这个答案很痛苦地从问题中复制粘贴代码并修复了一个字符串引号,但没有意识到其余粘贴的代码仍然是错误的,它不会输出任何数据。这个循环所做的就是回音;这会产生产出吗?为什么要复制错误的代码?@Hanky웃Panky是真的,但修复仍然部分存在。OP需要修复它,这里也是,但我同意。我最初没有注意到这一点。
$sql = "SELECT * FROM candidates WHERE Name = '$name'";
<?php

   $name = $_GET['name'];
   $sql = "SELECT * FROM candidates WHERE Name = '$name'";
   $query = mysql_query( $sql );
          if(mysql_num_rows($query) == "")
          {
          echo "no result found";
          }
          echo "<table>";

          echo "<thead></thead>";
                while( $row = mysql_fetch_array( $query ) )
                     {
                      echo "<tr><td>".$row['name']."</td></tr>";
                     }
          echo "</table>";
?>