从一个 MySqli 查询中的不同行获取值

Posted

技术标签:

【中文标题】从一个 MySqli 查询中的不同行获取值【英文标题】:Fetch values from different rows in one MySqli query 【发布时间】:2013-06-08 13:52:07 【问题描述】:

如何在 php 中从名为“somename”的数据库、表“options”、列“value”的所有“name”以“dt_”开头的行中获取和回显一些数据

数据库名称:“somename” 数据库表:“选项” 数据库现有列:“名称”、“值” 数据库现有行:“something1”、“something2”、“dt_option1”、“dt_option2”、“dt_option3”

我想要的数据库列:“值” 我想要的数据库行:“dt_option1”、“dt_option2”、“dt_option3”

我希望结果看起来像:

dt_option1 - 3432

dt_option2 - 开启

dt_option3 - 关闭

dt_option_something - 值

我到处尝试并用谷歌搜索,我无法弄清楚,因为我是新手.. 谢谢你的帮助..

附:我只需要查询和回声..

【问题讨论】:

【参考方案1】:

要获取行的值:select name, value from options where name like "dt_%"

在 PHP 中构建一个普通的 mysqli qry 然后使用一个 while-loop

// Note: Don't have the mysqli_* syntax 100% in mind, perhaps you have to lookup the right syntax in PHP manual, but for the idea you should understand it

$result = mysqli_query("select name, value from options where name like 'dt_%'");

while($row = mysqli_fetch_assoc($result))

  echo $row['name'] . " - " . $row['value'];

已编辑原因询问者更改了问题,并且还希望查看名称而不仅仅是值

【讨论】:

我试过但我得到这个错误:警告:mysqli_query() 需要至少 2 个参数,1 在第 15 行的 /home/x/public_html/api.php 中给出 警告:mysqli_fetch_assoc() 需要参数1 是 mysqli_result,在第 17 行的 /home/x/public_html/api.php 中给出 null 警告:mysql_fetch_row() 期望参数 1 是资源,在第 22 行的 /home/x/public_html/api.php 中给出 null 【参考方案2】:

你尝试过这样的事情吗? SELECT name, value FROM options WHERE name LIKE 'dt_%'

自提问者更改问题后已编辑

【讨论】:

【参考方案3】:

你的意思是这样的:

SELECT name, value FROM somename.options WHERE name LIKE "dt_%"

【讨论】:

以上是关于从一个 MySqli 查询中的不同行获取值的主要内容,如果未能解决你的问题,请参考以下文章

SQL查询以选择具有最小值的不同行

具有数组字段的 bigquery 表中的不同行

如何在 Access 2016 中的另一列上选择具有最大值的不同行

如何查询所有仅具有最高值的不同行?

UITableView - 具有相同数组的部分中的不同行

在一个表中的不同行和不同列中查找相同的值SQL