SQL不选择所有行

时间:2014-01-05 11:31:07

标签: php mysql sql

我正在尝试浏览整个表格并回显所有电子邮件

这是我的查询

  

SELECT meta_value FROM wp_usermeta WHERE meta_key ='user_email'

这是我在Phpmyadmin

执行时的图片

enter image description here

这是我运行php脚本时的输出

array(8) {
  [0]=>
  string(3) "781"
  ["umeta_id"]=>
  string(3) "781"
  [1]=>
  string(2) "36"
  ["user_id"]=>
  string(2) "36"
  [2]=>
  string(10) "user_email"
  ["meta_key"]=>
  string(10) "user_email"
  [3]=>
  string(22) "ndroyal@eagleray.co.il"
  ["meta_value"]=>
  string(22) "ndroyal@eagleray.co.il"
}

你可以清楚地看到有超过8行的方式,我无法想出任何输入将不胜感激!

$data = $db->fetch_array("SELECT * FROM `wp_usermeta` WHERE `meta_key`='user_email'");
var_dump($data);

数据库类:

<?php
class DB {

    function __construct() {
        global $dbase;
        $this->mysqli = new mysqli($dbase['host'], $dbase['user'], $dbase['pass'], $dbase['name']);
        if($this->mysql->connect_error) {
            die('Unable to Connect to Database');
        }
    }
    function query($i) {
        return $this->mysqli->query($i);
    }
    function fetch_array($i) {
        if(!is_object($i)) {
            // create $i as an object!
            $i = $this->query($i);
        }
        return $i->fetch_array();
    }
    function num($i) {
        if(!is_object($i)) {
            // create $i as an object!
            $i = $this->query($i);
        }
        return $i->num_rows;
    }
}
?>

1 个答案:

答案 0 :(得分:1)

$db->fetch_array仅返回结果的第一行。您必须使用不同的方法来遍历所有选定的行,但是您必须自己确定哪种方法,因为我们不知道您的数据库类($ db是其实例)。 / p>

编辑:以下代码应该有效:

$result = $db->query(your query);
while ($row = $result->fetch_array()) {
    // do something with $row
}