【问题标题】:Dynamical fetching from database - PHP从数据库中动态获取 - PHP
【发布时间】:2015-04-29 04:18:10
【问题描述】:

简单的问题。 我想在不知道数据库索引的情况下从数组中的数据库中获取数据。就像动态抓取一样。假设我想从 dbase 中获取名为“name”和“lastname”的两列,但是使用没有数据库索引的数组来回显它。如下代码所示:

$sql = mysql_query("SELECT name, lastname FROM employees WHERE id = '1'");

$nameX=array(); 


while ($myrow = mysql_fetch_array($sql)) 
{ 
$nameX=$myrow;
}  


foreach ($nameX as $bla)
    {
        echo $bla;
    }   

这段代码运行后会回显: JonJonSnow雪 数据库中的 Jon Snow 作为姓名和姓氏。 一点帮助?

【问题讨论】:

  • MYSQL_NUMMYSQL_ASSOC: php.net/manual/en/function.mysql-fetch-array.php 也阅读大红色警告
  • 是的,mysql_query() 和 mysql_fetch_array() 已被弃用。不要使用它们。
  • *在不知道数据库索引的情况下 -> 你将如何在 sql 查询中使用“name, lastname”。我建议您使用相同的方法将记录存储在 $nameX[$column] 数组中。
  • 是的,PDO 好多了。

标签: php mysql arrays dynamic


【解决方案1】:

在我看来这不是一个好的做法,只是将您的模型一致性传递给动态获取。但是我认为它可以使用 PDO 来完成(顺便说一下,实现数据访问更好)。 这段代码可能会对您有所帮助:

$pdo = new PDO("host;dbname", "user", "pass");
$sql = "SELECT name, lastname FROM employees WHERE id = :id;";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':id', $id, PDO::PARAM_INT);
$stmt->execute();
if($stmt) {
    while(($row = $stmt->fetch(PDO::FETCH_OBJ)) !== false) {
        foreach ($row as $key => $value) {
            echo($value);
        }
    }                  
}

【讨论】:

  • 这正是我所需要的。谢谢
猜你喜欢
  • 2019-01-02
  • 1970-01-01
  • 2019-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多