PDOStatement :: fetchAll返回数组并向末尾添加null

时间:2014-08-07 18:27:53

标签: php mysql arrays pdo

我有一个奇怪的问题。在执行简单的mysql查询时,它返回正确的值,但将 null 添加到数组的末尾。这会导致很多麻烦,因为当我遍历数组时,它会将 null 添加到每个值:

查询

$keyword_results = $conn->prepare("SELECT title,link, position, status FROM keyword_results WHERE keyword_id = :keyword_id");
$keyword_results->bindParam(':keyword_id', $get_keyword_id, PDO::PARAM_INT);
$keyword_results->execute();

打印数组

$db_results = $keyword_results->fetchAll();
print_r($db_results);

结果

Array ( 
  [0] => Array ( 
      [title] => Title 
      [0] => Title 
      [link] => http://www.link.com/ 
      [1] => http://www.link.com/ 
      [position] => 1 
      [2] => 1 
      [status] => new 
      [3] => new  
  )
  [1] => Array ( 
      [title] => Title 
      [0] => Title 
      [link] => http://www.link.com/ 
      [1] => http://www.link.com/ 
      [position] => 1 
      [2] => 1 
      [status] => new 
      [3] => new  
  )
) null

可能的原因?

在查询数据库之前,我检查数据库中是否已存在该关键字。我通过使用count(*)执行查询然后将以上代码包装在以下if statement

中来执行此操作
if($keyword_check->fetchColumn()) {...}

不确定这是不是我能想到的原因......

任何人都知道数组末尾的 null 来自哪里?如果您需要更多信息,请告诉我,我很乐意提供解决此问题所需的一切。

干杯!

0 个答案:

没有答案