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
(语法可能稍有不同,请查看官方文档)