【问题标题】:MySQL column into PHP array errorMySQL 列转换为 PHP 数组错误
【发布时间】:2012-10-11 19:27:04
【问题描述】:

我在将 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;

【问题讨论】:

标签: php mysql stdclass


【解决方案1】:

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

$files[]=$rd->fileName;

【讨论】:

    【解决方案2】:

    你正在获取文件名,所以你必须在你的对象中使用它:

    $files[]=$rd->FileName;
    

    【讨论】:

    • 谢谢你,和上面的人一样
    【解决方案3】:

    应该是

    $rd->FileName
    

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-03
        • 2014-04-30
        • 2010-09-23
        • 1970-01-01
        • 1970-01-01
        • 2021-11-19
        • 1970-01-01
        相关资源
        最近更新 更多