gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 00:30:01 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc... expects parameter 1 to be resource

(31 个回答)


7年前关闭。




让我首先道歉,如果有这个错误的重复。尽管出现了相同的错误消息,但我搜索并没有发现任何与我的情况明确相关的内容。我是 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_fetch_array() 期望参数 1 是资源,给定的 bool 值

对于此事,我将不胜感激。我难住了。

最佳答案

您尚未使用 mysql_select_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

http://www.php.net/mysql_query

返回值

对于 SELECT、SHOW、DESCRIBE、EXPLAIN 和其他返回结果集的语句,mysql_query() 成功时返回资源,错误时返回 FALSE。

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

http://php.net/manual/en/language.types.resource.php

资源

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

脚注:
mysql_*功能弃用通知:

http://www.php.net/manual/en/intro.mysql.php

此扩展自 PHP 5.5.0 起已弃用,不推荐用于编写新代码,因为它将来将被删除。相反, mysqliPDO_MySQL应该使用扩展名。另见 MySQL API Overview在选择 MySQL API 时获得更多帮助。

关于php - 在 MySQL 数据库中搜索记录时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22587207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com