【问题标题】:mysqli query to fetch row values without loopmysqli 查询以在没有循环的情况下获取行值
【发布时间】:2016-07-09 08:09:19
【问题描述】:

我是新手,需要帮助来解决我的问题。

在没有循环的情况下提取行值。

表:

 ----------------
  YEAR  | SALES
 ----------------
 2011  |     45
 2012  |     34
 2013  |     23
 2014  |     10
 2015  |     48
 ----------------

PHP 代码:

$sql = "SELECT YEAR FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "YEAR: " . $row["YEAR"]. "<br>";
    }
} else {
    echo "0 results";
}

寻找不带循环输出年份值的解决方案,如下所示 while 循环打印所有行值,但想从查询中提取单个年份值并将其分配给变量

$year1 = $row["YEAR"]
$year2 = $row["YEAR"]
$year3 = $row["YEAR"]

【问题讨论】:

  • group_concat 将所有年份连接到一个项目中怎么样?
  • 使用循环有什么问题?你有没有想过你明年要做什么?编辑您的代码以添加一年?这不是真正的正确方法......
  • 可以使用$result-&gt;fetch_all()得到一个二维数组,然后使用$year1 = $rows[0]['YEAR']
  • 纠结的问题,。 $sql = "SELECT DISTINcT YEAR FROM MyGuests WHERE YEAR = 2014";$result = $conn->query($sql);$year = $result->fetch_raw(),var_dump($year)。也许你这么说?
  • $result->fetch_all() 不工作

标签: php mysqli


【解决方案1】:

使用您当前的代码

       $i=1;
       while($row = $result->fetch_assoc()) {
           ${'year'.$i}= $row["YEAR"];
           $i++;
           //echo "YEAR: " . $row["YEAR"]. "<br>";
          }

现在您可以访问 $year1; $year2 以此类推

【讨论】:

  • 我很高兴它有帮助。是的,其他人是正确的;使用数组会更易于管理..但这不是我猜的问题..:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-02
  • 2015-10-12
  • 1970-01-01
  • 2014-09-26
  • 2019-09-02
相关资源
最近更新 更多