php - 使用给定的变量名称将前三个结果保存在 while 循环中?

标签 php mysql sql mysqli

我想将 SQL 查询的前三个结果保存在变量 $row1$row2$row3 中并返回他们到 Ajax 。 SQL 查询对顺序进行排序,以便前三个循环将是我想要保存的。

事实是,我只能弄清楚如何将其中一个保存在 $row1 中,但无法使其他两个单独变量等于 ex.nu 和 lol.de。

id | url
---+------------
 1 | www.hi.com //Save
 2 | www.ex.nu  //Save
 3 | www.lol.de //Save
 4 | www.mo.ae  //Skip
//DB-setup

-

while ($row = mysqli_fetch_array($result)) {
    $row1 = $row['url']; //Works
    //$row2 = $row['url']; Second result, tried using [1]
    //$row3 = $row['url']; Third result, tried using [2]
}

echo 
  json_encode(array(
    'row1' => $row1,
    'row2' => $row2,
    'row3' => $row3
  ))
;

简单地,收集前三项并将它们保存在给定的变量中。有没有简单的解决方案来做到这一点?

任何帮助/提示/链接将不胜感激。

最佳答案

如果要将它们存储到 $row1$row2$row3 中,则需要使用可变变量。尝试以下方法:

$query = "select * from url_list order by url asc limit 3";
$result = mysql_query($query);
$i = 1;
while ($data = mysql_fetch_array($result)) {
   $variable = 'row'.$i++;
   $$variable = $data['url'];
}

echo 
  json_encode(array(
     'row1' => $row1,
     'row2' => $row2,
     'row3' => $row3
  ));

关于php - 使用给定的变量名称将前三个结果保存在 while 循环中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39233824/

相关文章:

php - 为 Crud 类扩展基础数据表类

php - Yii/Bootstrap OnClick 执行 MySQL 查询

mysql - 无法在 MySQL 中设置 'root' @'localhost' 的密码

sql - 从 SQL DATE 中仅获取月份和年份

sql - 来自嵌套连接的单行

php - MYSQL:按数组的平均值排序

php - 如何通过选择菜单对mysql结果进行排序

MySQL 查询计数不正确

java - 在 Hibernate 程序中找不到 JDBC 驱动程序类

php - 数据库未在 html 表中更新