2015-09-07 34 views
-3

我在的foreach在PHP得到这个错误:腓的foreach错误无效参数

在...

代码的foreach()提供的参数无效:

$database = new PDO('mysql:host=localhost;dbname=staff_tool', $user, ''); 
foreach ($database->query('SELECT id,firstname,lastname FROM `staff` SET categorie_bit = 0') as $testx) { 
       var_dump($testx); 
      } 

编辑代码:

foreach ($database->query('SELECT id,firstname,lastname,categorie_bit FROM `staff` WHERE categorie_bit = 1 SET categorie_bit = 0') as $testx) { 
      var_dump($testx); 
     } 
+1

并查询返回任何东西? –

+0

不只是警告信息 – as21

+1

您的新PDO是否返回任何内容?因为我看不到任何错误检查... – Amarnasan

回答

0

PHP的foreach期望param之一是一个可迭代的数组,但它似乎像传递一个语句对象(printr)将不会输出更多的选择语句)。你可能会想尝试:

 $stmt = $db->query($sql); 
     $stmt->execute(); 
     $results = $stmt->fetchAll(); 

     foreach($results as $result) 
       var_dump($result); 
0
$result = $database->query('SELECT id,firstname,lastname,categorie_bit FROM `staff` WHERE categorie_bit = 1 SET categorie_bit = 0'); 

// always check if you have a valid array ... you do not have any guarantees that SELECT query will return you a result set 
if(is_array($result) && count($result) > 0) { 
    foreach ($result as $testx) { 
     var_dump($testx); 
    } 
} 
+0

试过这个去了我在代码中添加的其他条件 – as21

相关问题