gpt4 book ai didi

php - PHP 中的 SQL - 需要另一双眼睛

转载 作者:行者123 更新时间:2023-11-29 13:22:00 25 4
gpt4 key购买 nike

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





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

(31 个回答)


8年前关闭。




这个问题之前可能已经被问过,如果有,我很抱歉。我已经尝试了一些解决我的错误的方法,但仍然找不到解决方案。

我的代码是:

$sql = "SELECT S.ID, S.sentence "
. "FROM word I, word2category C, sentence S "
. "WHERE C.category_ID = 10 "
. "AND I.ID = C.word_ID "
. "AND S.word_ID = I.ID "
. "AND S.ID NOT IN (SELECT sentence_ID FROM annotation WHERE IP = '" . $ip . "')"
. "ORDER BY RAND()";

$res = mysql_query($sql);
$row = mysql_fetch_array($res);
$ID = $row["S.ID"];
echo "<input type='hidden' name='ID' value='$ID'/>\n"; // --- get sentence ID to store an annotation later on

$sentence = $row["S.sentence"];
// $sentence = str_replace("£", "&pound;", $sentence);

我正在尝试检索一个随机句子,该句子在句子表中具有 ID,并且是另一个表 (category_id) 中类别的一部分。

我收到此错误:
 mysql_fetch_array() expects parameter 1 to be resource, boolean given

我认为这是因为 $sql 查询失败(或返回 0 行)。这会导致 $res 变为 null/false,如果 $res 为 null/false,“mysql_fetch_array()”将返回该错误。
实际上,错误是说它期望 $res 是一个 mysql 结果,但它实际上是一个 bool 值(假)。

但是,我已经看了这么久,我无法解决它:(

先感谢您。

最佳答案

你的 PHP 有一点点错误(除了使用不推荐使用的方法),但我没有最好的资格来解决这个问题,所以我会坚持查询......

$sql = "
SELECT s.ID
, s.sentence
FROM word i
JOIN word2category c
ON c.word_ID = i.ID
JOIN sentence s
ON s.word_ID = i.ID
LEFT
JOIN annotation a
ON a.sentence_id = s.ID
AND a.ip = '$ip'
WHERE c.category_ID = 10
AND a.sentence_id IS NULL
ORDER
BY RAND();
";

关于php - PHP 中的 SQL - 需要另一双眼睛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20691426/

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