-1

下面是代码,我有,是用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'];
4

1 回答 1

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 中,fetch 的工作方式如下: 从与 PDOStatement 对象关联的结果集中获取一行。fetch_style 参数确定 PDO 如何返回行。

执行准备好的语句时,需要执行 fetch 或 fetchAll 来拉取数据。fetch 为您提供第一行,在您的情况下,条件 = X,我猜您只想要一行。

更新了链接以供参考:

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

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

于 2013-11-12T03:33:42.133 回答