Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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 在MySQL数据库中搜索记录时遇到问题_Php_Html_Mysql - Fatal编程技术网

Php 在MySQL数据库中搜索记录时遇到问题

Php 在MySQL数据库中搜索记录时遇到问题,php,html,mysql,Php,Html,Mysql,让我首先道歉,如果有重复的错误。虽然出现了相同的错误消息,但我搜索并没有发现任何与我的情况相关的内容。我是PHP新手,我尝试使用HTML搜索表单来检索表中的记录` <form action="" method="post"> Search: <input type="text" name="term" /><br /> <input type="submit" name="submit" value="Submit" /> &l

让我首先道歉,如果有重复的错误。虽然出现了相同的错误消息,但我搜索并没有发现任何与我的情况相关的内容。我是PHP新手,我尝试使用HTML搜索表单来检索表中的记录`

  <form action="" method="post">
    Search: <input type="text" name="term" /><br />
  <input type="submit" name="submit" value="Submit" />
  </form>

  <?php
  $dbhost = 'localhost';
  $dbuser = 'root';
  $dbpass = 'pass';
  $conn = mysql_connect($dbhost, $dbuser, $dbpass);

    if(! $conn ){
      die('Could not connect: ' . mysql_error());
  }

  if (!empty($_REQUEST['term'])) {

    $term = mysql_real_escape_string($_REQUEST['term']);

    $sql = "SELECT * FROM shoes WHERE name LIKE '%".$term."%'";
    $r_query = mysql_query($sql);

    while($row = mysql_fetch_array($r_query)){
      echo 'Shoe Name: ' .$row['name'];
      echo '<br /> SKU: ' .$row['sku'];
      echo '<br /> Size: ' .$row['size'];
      echo '<br /> Quantity: ' .$row['quantity'];
    }

  }
    mysql_close($conn);


  ?>

搜索:
` 我得到这个错误消息:mysql\u fetch\u array()期望参数1是资源,给定布尔值


我非常感谢在这件事上给予的任何帮助。我被难住了。

如果出现错误,mysql\u查询函数将返回false。您可能需要添加一些错误检查,例如

if ($r_query === false){
    echo 'Error'; 
    // maybe check mysql_error* functions
    die ();
}

您尚未使用定义或选择数据库,也未向查询传递DB连接

<?php
  $dbhost = 'localhost';
  $dbuser = 'root';
  $dbpass = 'pass';
  $db = 'your_database'; // added. Modify to be your database
  $conn = mysql_connect($dbhost, $dbuser, $dbpass);

  mysql_select_db($db)or die(mysql_error());

    if(! $conn ){
      die('Could not connect: ' . mysql_error());
  }

    if (!empty($_REQUEST['term'])) {

    $term = mysql_real_escape_string($_REQUEST['term']);

    $sql = "SELECT * FROM shoes WHERE name LIKE '%".$term."%'";
    $r_query = mysql_query($sql,$conn); // added DB connection

    while($row = mysql_fetch_array($r_query)){
      echo 'Shoe Name: ' .$row['name'];
      echo '<br /> SKU: ' .$row['sku'];
      echo '<br /> Size: ' .$row['size'];
      echo '<br /> Quantity: ' .$row['quantity'];
    }

  }
    mysql_close($conn);
?>


从PHP.net引用

返回值

对于返回resultset的SELECT、SHOW、DESCRIBLE、EXPLAIN和其他语句,mysql_query()在成功时返回资源,在出错时返回FALSE

对于其他类型的SQL语句,如INSERT、UPDATE、DELETE、DROP等,mysql_query()成功时返回TRUE,错误时返回FALSE


资源

资源是一个特殊变量,包含对外部资源的引用。资源由特殊功能创建和使用


脚注:

mysql.*
函数弃用注意事项:


从PHP5.5.0开始,此扩展就不推荐使用,不建议用于编写新代码,因为它将在将来被删除。相反,应该使用或扩展名。在选择MySQL API时,请参阅以获取更多帮助

仅供参考:
mysql.*
函数集已被弃用。如果可能的话,我建议搬到。哦,来吧。你的错误信息在这个网站上出现了数百次,每个问题的答案都是一样的:你的查询失败了,你的代码盲目地假设成功了,现在你被卡住了。
$r\u query=mysql\u query($sql,$conn)你需要通过数据库连接。另外,你还没有选择数据库。哦,天哪!谢谢我不敢相信我错过了随之而来的尴尬。再次感谢!不客气,我很乐意帮忙@用户3040173干杯