下面是代码,我有,它是用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'];
答案 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,fetch的工作原理如下: 从与PDOStatement对象关联的结果集中获取一行。 fetch_style参数确定PDO如何返回行。
执行预准备语句时,需要执行fetch或fetchAll来提取数据。 fetch可以获得第一行,在你的情况下,条件= X,我猜你只需要一行。
更新了参考链接: