mysql_result到PDO

时间:2013-11-12 03:25:39

标签: php mysql sql pdo

下面是代码,我有,它是用mysql编写的。我的目标是将其转换为PDO。

$query = "SELECT name, age FROM table WHERE condition=$condtion";
$mysql_query = mysql_query($query);

echo $name = mysql_result($mysql_query, 0, 'name');
echo $age = mysql_result($mysql_query, 0, 'age');

我尝试过以下代码,但它给了我一个空洞的结果。

$query = $PDO -> prepare("SELECT name, age FROM table");
$query -> execute();

echo $name = $query->fetch(PDO::FETCH_ASSOC)['name'];
echo $age = $query->fetch(PDO::FETCH_ASSOC)['age'];

1 个答案:

答案 0 :(得分:3)

尝试:

$query = $PDO->prepare("SELECT name, age FROM table WHERE condition = :param");
$query->bindParam(':param', $param); // define this somewhere
$query->execute();
$result = $query->fetch();

echo $name = $result['name'];
echo $age = $result['age'];

从PHP.net,f​​etch的工作原理如下: 从与PDOStatement对象关联的结果集中获取一行。 fetch_style参数确定PDO如何返回行。

执行预准备语句时,需要执行fetch或fetchAll来提取数据。 fetch可以获得第一行,在你的情况下,条件= X,我猜你只需要一行。

更新了参考链接:

执行:http://php.net/manual/en/pdostatement.execute.php

获取:http://php.net/manual/en/pdostatement.fetch.php