Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL未选择所有行_Php_Mysql_Sql - Fatal编程技术网

Php SQL未选择所有行

Php SQL未选择所有行,php,mysql,sql,Php,Mysql,Sql,我正试着翻阅整张桌子,回显所有的电子邮件 这是我的问题 从wp\u usermeta中选择meta\u值,其中meta\u键='user\u email' 下面是我在Phpmyadmin中执行它时的一张图片 这是我运行php脚本时的输出 array(8) { [0]=> string(3) "781" ["umeta_id"]=> string(3) "781" [1]=> string(2) "36" ["user_id"]=> str

我正试着翻阅整张桌子,回显所有的电子邮件

这是我的问题

wp\u usermeta
中选择
meta\u值
,其中
meta\u键
='user\u 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);
DB类:

<?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\u array
仅返回结果的第一行。您必须使用不同的方法在所有选定的行中循环,尽管您必须自己找出哪个方法,因为我们不知道您的数据库类(其中$db是的一个实例)

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

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

如果你展示你的PHP脚本,你就是一个天才。用脚本更新帖子我已经在帖子中添加了我的DB类。非常感谢!成功了!是否有一种方法可以从不同的值中获取2个meta_值,例如,如果我还想要第一个_名称行,那么您可能必须从不同的表中获取该信息。如果需要,可以在同一个查询中执行此操作,例如,
选择table1.name、table2.email FROM table1、table2 WHERE table1.id=和table2.id=table1.id
(语法可能稍有不同,请查看官方文档)