0

我在将 MySQL 列放入 php 数组变量时遇到问题,以便进一步foreach()循环。

这是我的代码:

$files=array();
$filesFetch = "SELECT FileName FROM articledata";
$rs=mysql_query($filesFetch);
while($rd=mysql_fetch_object($rs))
{
$files[]=$rd->files;
}

if (!$files) {
    die('getting filenames failed');
}
foreach ($files as $key => $id) 
{  //... do the stuff }

我没有停止这种die情况,但我的错误说:

注意:未定义的属性:stdClass::$files

我认为格式存在问题,因为此错误通知重复:“rowCountTimes”

该行也出现此错误。

$files[]=$rd->files;
4

4 回答 4

2

您的对象具有基于列名的属性;你需要使用:

$files[]=$rd->fileName;
于 2012-10-11T19:28:32.693 回答
0

您正在获取 FileName,因此您必须在对象中使用它:

$files[]=$rd->FileName;
于 2012-10-11T19:28:56.517 回答
0

它应该是

$rd->FileName

而不是$rd->files因为您的列名是FileName

于 2012-10-11T19:29:50.197 回答
0

你写的代码肯定没有意义。您正在获取一个保存在变量中的对象$rd。然后您尝试访问属性files,但当然这是未定义的,因为您只获取了名为 FileName 的列。

所以改用: $files[] = $rd->FileName;

于 2012-10-11T19:33:27.497 回答