繁体   English   中英

SQL不选择所有行

[英]SQL not Selecting all rows

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

这是我的查询

wp_usermeta选择meta_value wp_usermeta meta_key ='user_email'

这是我在Phpmyadmin中执行该命令时的图片

在此处输入图片说明

这是我运行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;
    }
}
?>

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

编辑:以下代码应该工作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM