输出显示为null的查询

时间:2009-05-05 10:49:27

标签: php sql mysql

我正在尝试删除字段ARTICLE_NO是某个数字的文件列表。目前,我有一个文件表,其中包含ARTICLE_NO,FILENAME和USERNAME列。有一条记录,分别为值1,x.txt和user。在我的PHP代码中将$ pk指定为1。但是,以下代码只生成NULL,我不确定原因。

$filesQuery = "SELECT FILENAME FROM FILES WHERE ARTICLE_NO = ?"; 

if ($getFiles = $con->prepare($filesQuery)) {
    $getFiles->bind_param("s", $pk);
    $getFiles->execute();
    $getFiles->bind_result($FILENAME);
    $files = array();

    while ($getFiles->fetch()) {
         $filenames = array(
         'FILENAME' => $FILENAME,
          );
$files[] = $filenames;
        }
}
var_dump($files['FILENAME']);
    foreach ($files as $filenames)
    {
    $filesList = '<p><a href="./files/'. $files['FILENAME'] .'">'. $files['FILENAME'] .'</a>' . "\n"; 
    }

1 个答案:

答案 0 :(得分:0)

您正在访问错误构建的阵列。处理数据库中的1个结果行时,$ files是一个包含其他1个数组的数组,如下所示:

$files = array ( 0 => array ( 'FILENAME' => 'x.txt' ) );

因此,要访问FILENAME下的值,您需要使用:

var_dump($files[0]['FILENAME']);

foreach($files as $file_data) { echo $file_data['FILENAME']; }