Php 在MySQL数据库中搜索记录时遇到问题
让我首先道歉,如果有重复的错误。虽然出现了相同的错误消息,但我搜索并没有发现任何与我的情况相关的内容。我是PHP新手,我尝试使用HTML搜索表单来检索表中的记录`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
<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干杯