【问题标题】:Foreach Notice: Array to string conversionForeach 通知:数组到字符串的转换
【发布时间】:2017-01-31 15:26:29
【问题描述】:
<?php

include "baglan.php";
class Dizi {    

public function dizis(){
    return $this->dizi;
}
}
$query2 = $db->query("SELECT * FROM diziler ");
$query2->setFetchMode(PDO::FETCH_CLASS, 'link');

foreach($query2 as $row){
    echo $row;
    break;
}


?>

我认为我做的一切都是正确的,但我收到错误:

注意:第 14 行 C:\xampp\htdocs\xampp\dizimag\new.php 中的数组到字符串转换

数组

尝试了所有方法,但我想我的 foreach 做错了,但我在任何地方都找不到。

 class Uye {

  public function adsoyad(){
    return $this->uye_ad . ' ' . $this->uye_soyad;
  }

  public function rutbe(){
  if ( $this->uye_rutbe == 1 )
     return 'Yönetici';
  else
     return 'Üye';
}

}

$query = $db->query("SELECT * FROM uyeler");
$query->setFetchMode(PDO::FETCH_CLASS, 'Uye');

foreach ( $query as $row ){
print $row->adsoyad() . ': ' . $row->rutbe() . '<br />';
}

此代码完美运行。我在哪里犯错了?我做了同样的事情? :S

【问题讨论】:

标签: php arrays pdo foreach notice


【解决方案1】:

您收到 Array to string conversion 错误,因为 PDO 在第 14 行将 $row 作为数组返回:

foreach($query2 as $row){
    echo $row; // <- this is an array, echo'ing it will fail
    break;
}

要了解如何使用 PDO::FETCH_CLASS,我建议您学习此处给出的示例:

【讨论】:

    猜你喜欢
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多