PDO和获取结果(字符串转换)

时间:2016-02-23 18:27:23

标签: php pdo

目前PDO也存在新问题(也没有帮助)

这是我的代码的当前部分

> try{
$sql  = $conn->prepare(" SELECT Channel_Location FROM channels)
ORDER BY RAND()
limit 5");
$sql->execute(array(':Location' => ''));
$row = $sql->fetch(PDO::FETCH_ASSOC);
}
catch(PDOException $e)
{
    echo $sql . "<br>" . $e->getMessage();
}
$conn =  null; 

我基本上是尝试连接到数据库并从表Channel_Location中拉出5个随机结果但是我收到错误PDOStatement类的对象无法转换为字符串而我想知道我是怎么回事通过将返回的5个结果放入数组来解决这个问题?

2 个答案:

答案 0 :(得分:1)

   try{    
    $sql  = $conn->prepare("SELECT Channel_Location FROM channels ORDER BY RAND()
    limit 5");
    $sql->execute();
    $row = $sql->fetch(PDO::FETCH_ASSOC);
   }
   catch(PDOException $e)
   {
        echo $e->getMessage();
   }
   $conn =  null; 

答案 1 :(得分:-1)

<?php
try {
    $sql = $conn->query("SELECT Channel_Location FROM channels ORDER BY RAND() LIMIT 5");
} catch(PDOException $e) {
    echo $sql . "<br>" . $e->getMessage();
}

foreach($sql->fetchAll(PDO::FETCH_ASSOC) as $c) {
    echo "$c <br>";
}

将检索您想要的信息并在页面上显示它们,每行之间都有一个新行(:

您的请求不正确,因为您没有使用任何参数,所以您不必放置prepare / execute,这里只需要一个简单的query