【问题标题】:PDO select results into variablesPDO 选择结果到变量中
【发布时间】:2014-02-13 16:06:38
【问题描述】:

我只是从 mysql 切换到 PDO,并且遇到了一些问题。

我正在尝试用 mysql 做一些非常简单的事情,我想做的只是将我的查询结果保存到变量中。我整天都在互联网上搜索,每个示例都在回显或打印结果,而我需要将它们放在变量中,这样我就可以在我的应用程序的其余部分中使用它们。

我有一个简单的数据库表,用于存储某人完成的点。一个 id,要分配的点以及这些点的位置。

例如:

ID_1、25、1st

表中只有 5 行,第 1 到第 5 行。

我想将这些点放入变量中,例如:

$point_1 = 25
$point_2 = 20
$point_3 = 18
$point_4 = 15
$point_5 = 10

这是我使用的代码:

$dbh = new PDO("mysql:host=$hostname;dbname=$dbname",$username,$password);

$sql = "SELECT * FROM points";
$stmt = $dbh->prepare($sql);
$stmt->execute();
// here you go:
$points = $stmt->fetchAll();

foreach ($points as $row) {

 print $row["point_position"] . "-" . $row["point_value"] ."<br/>";

}

但我想将值转换为变量?不打印或回显它们?

【问题讨论】:

  • 你有什么特别尝试来创建你的变量?为什么你想要这样的变量?为什么不使用数组?
  • @RocketHazmat - 是的......我现在真的需要睡觉了。谢谢:)
  • 我需要在应用程序的许多其他地方使用这些值。
  • 你有一个数组中的数据。如果您需要变量,只需获取数组值并将它们存储在变量中。问题出在哪里?
  • 我不知道该怎么做!

标签: php mysql sql pdo


【解决方案1】:

如果我正确理解您的问题,这可能会有所帮助:

$result = array();

foreach ( $points as $i => $row ) {
    $result[$i] = $row;
}

现在查询中的每一行都位于 $result 数组中的唯一位置。请注意与 foreach 循环相比的迭代器变量 $i。

【讨论】:

  • 这对我不起作用!我需要可以自行访问这些值吗?我不明白如何动态访问数组以获取各个值?如何使用上述代码访问第三名的值?
  • 假设您想要第 7 行的第 4 列。然后你这样做 $result[6][4];
【解决方案2】:

尝试将查询结果关联到关联数组

【讨论】:

    猜你喜欢
    • 2014-07-14
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多