【问题标题】:Invalid foreach PDO Error无效的 foreach PDO 错误
【发布时间】:2013-11-21 12:57:47
【问题描述】:

我是 PDO 的新手,并尝试尽我所能使用它我已经编写了下面的代码,但我收到一个错误,为 foreach() 提供的参数无效。

这是我的代码 -

<?php 

function sqlConnect()
{
    $mysqlConnection = new PDO('mysql:host=localhost;dbname=students', "root", "root");

    return $mysqlConnection;
}

function getServerResults($costvm)
{
    $sql = "SELECT * FROM ".$costvm;
    $mysqlConnection = sqlConnect();

    $resultSet = $mysqlConnection->query($sql);
    return $resultSet;
}
?>

这是写在错误页面上的代码。

                        try
                        {
                            $resultSet = getServerResults("servers");

                            foreach($resultSet as $row)
                            {
                                echo $row['servername']."<br/>";
                            }
                        } catch(PDOException $e)
                        {
                            echo 'ERROR: '.$e->getMessage();
                        }
                    ?>

【问题讨论】:

  • 您得到的是空结果吗?检查这个问题stackoverflow.com/questions/16382572/…>
  • is_array($resultSet) 是否等于 true?
  • 返回 $mysqlConnection-&gt;query($sql); 的内容可能对 us3.php.net/pdo.query 有帮助

标签: php mysql pdo


【解决方案1】:

摆脱所有这些功能。让它成为直 PDO

$pdo = new PDO('mysql:host=localhost;dbname=students', "root", "root");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$result = $pdo->query("SELECT * FROM servers");
foreach($result as $row)
{
    echo $row['servername']."<br/>";
}

【讨论】:

    猜你喜欢
    • 2015-07-31
    • 1970-01-01
    • 2023-03-20
    • 2012-12-05
    • 2012-10-10
    • 2013-04-29
    • 2017-04-25
    • 1970-01-01
    • 2015-12-02
    相关资源
    最近更新 更多