gpt4 book ai didi

php - 为什么 `mysqli_fetch_assoc` 会返回一个空对象?

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

我不得不调试一些遗留的 PHP 代码,我遇到了一个真正的难题。

一个方法遍历 MySQL 表的每一行并将该行添加到数组中。

不幸的是,该方法返回一个完全空的对象,因此 HTTP 响应的长度为零。

mysqli_fetch_assoc 被调用时,似乎是 MySQL 表中的一个特定行导致了这个问题。我通过添加下面的测试代码将其缩小到第 1251 行。

$counter = 0
while ( $row = mysqli_fetch_assoc($findInfo) ) {

// My Debug Test Code: bail out and return row 1251
if ($counter == 1251)
return $row; // this returns a populated array for all rows except 1251, which is blank

// Add the row to our array
array_push($rowArray, $row);

$counter = $counter + 1
}

// Finally, do something with all the rows
return $rowArray

如果我生成数据表的 .CSV 转储,数据看起来相当无害 - 第 1251 行是以下代码段中 94340 开头的行:

94339,"Hills Coaches (Wolverhampton)",,,,,,,,,,,,,,,,
94340,"Hinckley Bus",,"via contact form at www.arrivabus.co.uk/contact-arriva/  ","01455 239329",,,"5 Jacknell Road, Dodwells Bridge Industrial Estate, Hinckley LE10 3BS",,,,,,,,,,www.arrivabus.co.uk/hinckleybus/#http://www.arrivabus.co.uk/hinckleybus/#
94341,Hirethisbus.com,,,,,,,,,,,,,,,,

什么可能导致 mysqli_fetch_assoc 以这种方式明显“退出”并且什么都不返回?我该如何调试呢?

最佳答案

MySQL 行包含一些无法打印的字符,这是通过通过 MySQL 客户端连接到服务器并在该行上手动运行 SELECT 来确定的。

`SELECT ColumnName FROM TableName WHERE Id = SomeID`

======+==========+===========
ColumnName +========+========
=============================
http://some.site.com/??
=============================

两个问号是赠品。

虽然仍然不知道为什么 mysqli_fetch_assoc 对此不满意。

关于php - 为什么 `mysqli_fetch_assoc` 会返回一个空对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36902454/

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