来自查询的正确响应,但我仍然收到 "Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given in..." 错误
Correct response from query, but I'm still getting "Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given in..." error
我几乎不敢 post 这个,因为自动搜索 returns 的前 20 个问题都被否决了。我已经仔细阅读了每个已经问过的问题,我的问题似乎有所不同。
我的查询工作正常,因为它给了我正确的数据作为响应。但是,我仍然收到此错误,我不明白为什么。这是代码:
$acOneLowestCostQuery = "SELECT * FROM $acSupplierOne where quotePartNumber = '$acPartNumberOne' ORDER BY quoteCost ASC LIMIT 1" ;
$acOneLowestCost = mysqli_query($con, $acOneLowestCostQuery);
while ($row = mysqli_fetch_array($acOneLowestCost)) {
$acOnePartNumber = $row['quotePartNumber'];
$acOneLowestCost = $row['quoteCost'];
?>
我的table输出的信息是正确的,但是table上面是:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given in ... on line 199
第 199 行是
while ($row = mysqli_fetch_array($acOneLowestCost)) {
我不明白的是:
- 我从另一个页面复制了整个代码(只是更改了变量名),它运行良好,(没有任何错误)
- 代码执行得很好并且 returns 正确的数据进入我的 table
- 我不明白为什么它告诉我我正在向它传递一个字符串 - 除非是因为查询结果只返回单行(来自
ASC LIMIT 1
),也许你需要两行组成一个数组???
有人能帮我理解为什么会出现这个错误吗?我宁愿修复问题然后使用错误报告不显示它。
变量命名有问题:
$acOneLowestCost = mysqli_query($con, $acOneLowestCostQuery);
// here $acOneLowestCost is mysqli_result
while ($row = mysqli_fetch_array($acOneLowestCost)) {
$acOnePartNumber = $row['quotePartNumber'];
// and here it becomes a string which then passed to mysqli_fetch_array
$acOneLowestCost = $row['quoteCost'];
我几乎不敢 post 这个,因为自动搜索 returns 的前 20 个问题都被否决了。我已经仔细阅读了每个已经问过的问题,我的问题似乎有所不同。
我的查询工作正常,因为它给了我正确的数据作为响应。但是,我仍然收到此错误,我不明白为什么。这是代码:
$acOneLowestCostQuery = "SELECT * FROM $acSupplierOne where quotePartNumber = '$acPartNumberOne' ORDER BY quoteCost ASC LIMIT 1" ;
$acOneLowestCost = mysqli_query($con, $acOneLowestCostQuery);
while ($row = mysqli_fetch_array($acOneLowestCost)) {
$acOnePartNumber = $row['quotePartNumber'];
$acOneLowestCost = $row['quoteCost'];
?>
我的table输出的信息是正确的,但是table上面是:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given in ... on line 199
第 199 行是
while ($row = mysqli_fetch_array($acOneLowestCost)) {
我不明白的是:
- 我从另一个页面复制了整个代码(只是更改了变量名),它运行良好,(没有任何错误)
- 代码执行得很好并且 returns 正确的数据进入我的 table
- 我不明白为什么它告诉我我正在向它传递一个字符串 - 除非是因为查询结果只返回单行(来自
ASC LIMIT 1
),也许你需要两行组成一个数组???
有人能帮我理解为什么会出现这个错误吗?我宁愿修复问题然后使用错误报告不显示它。
变量命名有问题:
$acOneLowestCost = mysqli_query($con, $acOneLowestCostQuery);
// here $acOneLowestCost is mysqli_result
while ($row = mysqli_fetch_array($acOneLowestCost)) {
$acOnePartNumber = $row['quotePartNumber'];
// and here it becomes a string which then passed to mysqli_fetch_array
$acOneLowestCost = $row['quoteCost'];