gpt4 book ai didi

php - Sql 结果作为 bool 值而不是资源返回

转载 作者:行者123 更新时间:2023-11-29 12:56:15 25 4
gpt4 key购买 nike

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





Warning: mysql_result() expects parameter 1 to be resource, boolean given [duplicate]

(1 个回答)


7年前关闭。




下面是php代码,我会切入说明错误出现在哪里

//getting the aisles for the list via mysql query
for($i = 0; $i < $size; $i++){

size 是前一个数组的计数
$sql = "SELECT Aisle FROM `Items` WHERE `Store_ID` = $storeid AND `Name`= {$items[$i]}";
print("i=$i");
$result= mysql_query($sql, $link);
print("'items[$i]' is $items[$i]");
print("$sql");

$temp= mysql_fetch_assoc($result);

结果作为 bool 值返回
$aisle= $temp["Aisle"];
$aisles[$i] = $aisle;
print(current($aisles));
mysql_free_result($result);
}

这是错误代码

5从 ListNames 中选择 storeid WHERE user_id = 1 AND listname='test'2i=0'items[0]' 是 SELECT Aisle FROM Items在哪里 Store_ID = 2 和 Name =
警告:mysql_fetch_assoc() 期望参数 1 是资源, bool 值在第 66 行的/home2/ctshaw96/public_html/scripts/getAisles.php 中给出

警告:mysql_free_result() 期望参数 1 是资源,在第 70 行的/home2/ctshaw96/public_html/scripts/getAisles.php 中给出的 bool 值
i=1'items[1]' 是 SELECT Aisle FROM Items在哪里 Store_ID = 2 和 Name =
警告:mysql_fetch_assoc() 期望参数 1 是资源, bool 值在第 66 行的/home2/ctshaw96/public_html/scripts/getAisles.php 中给出

警告:mysql_free_result() 期望参数 1 是资源,在第 70 行的/home2/ctshaw96/public_html/scripts/getAisles.php 中给出的 bool 值
i=2'items[2]' 是 SELECT Aisle FROM Items在哪里 Store_ID = 2 和 Name =
警告:mysql_fetch_assoc() 期望参数 1 是资源, bool 值在第 66 行的/home2/ctshaw96/public_html/scripts/getAisles.php 中给出

警告:mysql_free_result() 期望参数 1 是资源,在第 70 行的/home2/ctshaw96/public_html/scripts/getAisles.php 中给出的 bool 值
i=3'items[3]' 是 SELECT Aisle FROM Items在哪里 Store_ID = 2 和 Name =
警告:mysql_fetch_assoc() 期望参数 1 是资源, bool 值在第 66 行的/home2/ctshaw96/public_html/scripts/getAisles.php 中给出

警告:mysql_free_result() 期望参数 1 是资源,在第 70 行的/home2/ctshaw96/public_html/scripts/getAisles.php 中给出的 bool 值
i=4'items[4]' 是 SELECT Aisle FROM Items在哪里 Store_ID = 2 和 Name =
警告:mysql_fetch_assoc() 期望参数 1 是资源, bool 值在第 66 行的/home2/ctshaw96/public_html/scripts/getAisles.php 中给出

警告:mysql_free_result() 期望参数 1 是资源,在第 70 行的/home2/ctshaw96/public_html/scripts/getAisles.php 中给出的 bool 值
“未找到项目”“未找到项目”“未找到项目”“未找到项目”“未找到项目”

这是网址 http://shaw-dev.com/scripts/getAisles.php?userid=1&listname=test

最佳答案

这个 SQL:

SELECT Aisle FROM `Items` WHERE `Store_ID` = $storeid AND `Name`= {$items[$i]}

将构建不正确的 SQL,例如
SELECT Aisle FROM `Items` WHERE `Store_ID` = $storeid AND `Name`= foo

它必须放在单引号中。

但是,请注意 使用外部变量构建 SQL 语句会使您的代码容易受到 SQL 注入(inject)攻击。 此外,任何带有单引号的输入数据,例如“O'Malley”,都会破坏您的查询。了解参数化查询,最好使用 PDO 模块,以保护您的 Web 应用程序。 This question有很多详细的例子。另见 http://bobby-tables.com/php替代方案和危险的解释。 运行使用外部数据构建的 SQL 语句就像吃家门口的食材制成的汤。

关于php - Sql 结果作为 bool 值而不是资源返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24021172/

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