Php PDO提取While循环中的数据

Php PDO提取While循环中的数据,php,pdo,Php,Pdo,我试图将这些数据提取到一个while循环中,它实际上什么也不返回,有什么想法吗 代码: 如果你需要任何信息,请告诉我 由于您正在使用PDO,因此必须更新某些函数。您可以只准备并绑定值,而不是mysql\u escape\u string(),PDO将转义所有内容。另外,fetch_array()应该是,而MYSQLI_ASSOC应该是 不能有太多的isset检查$\u GET['id'];)另外,什么类型的对象是$odb?您不应该转义id参数,然后绑定它。只需做后一件事这不是问题$_GET

我试图将这些数据提取到一个while循环中,它实际上什么也不返回,有什么想法吗

代码:



如果你需要任何信息,请告诉我

由于您正在使用PDO,因此必须更新某些函数。您可以只准备并绑定值,而不是
mysql\u escape\u string()
,PDO将转义所有内容。另外,
fetch_array()
应该是,而
MYSQLI_ASSOC
应该是



不能有太多的
isset
检查
$\u GET['id']
;)另外,什么类型的对象是
$odb
?您不应该转义id参数,然后绑定它。只需做后一件事这不是问题$_GET['id']工作正常,我已经测试了该部分。$odb是一个PDO对象,我可以向您展示它的代码。在这种情况下,
PDO
没有这样的方法
real\u escape\u string
fetch\u array
,您也不应该使用
MYSQLI\u ASSOC
。这段代码甚至不应该在@Phil.再次执行EthatAnks。对于所有的初始错误,请原谅,OP;)我现在更困惑了:我该怎么办?这完全不起作用。你会得到什么样的错误@user3023566I打开了错误报告功能,但没有返回任何错误。@SamSullivan我怀疑你/OP会从
errorInfo
中得到什么,除非
users
表或
ID
列不存在。更有可能的是,
ID=20根本没有记录
<?php
if(isset($_GET['id'])){
    require('include/db.php');
    require('include/init.php');
    if(isset($_GET['id']) && is_numeric($_GET['id'])){
        $userid = $odb->real_escape_string($_GET['id']);
        $result3 = $odb->prepare("SELECT * FROM users where ID = :id");
        $result3->bindValue(":id", $userid);
        $result3->execute();
        while($row3 = $result3->fetch_array(MYSQLI_ASSOC)){
            $username=$row['username'];
            $email=$row['email'];
            $rank=$row['rank'];
            $membership=$row['membership'];
            $expire=$row['expire'];
            $status=$row['status'];
            echo "
            Username: ".$username."<br />
            Email: ".$email."<br />
            Rank: ".$rank."<br />
            Membership: ".$membership."<br />
            Expire: ".$expire."<br />
            Status: ".$status."<br />
            ";
        }
    } else {
        echo "You did not enter an ID!";
    }
?>
<?php
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
if($id) {
    require('include/db.php');
    require('include/init.php');

    // Prepare && Binding will take care of escaping the string
    $result = $odb->prepare("SELECT * FROM users where ID = :id");
    $result->bindValue(":id", $id);

    $result->execute();
    while($row = $result->fetch(PDO::FETCH_ASSOC)) {
        $username = $row['username'];
        $email = $row['email'];
        $rank = $row['rank'];
        $membership = $row['membership'];
        $expire = $row['expire'];
        $status = $row['status'];

        echo "
        Username: ".$username."<br />
        Email: ".$email."<br />
        Rank: ".$rank."<br />
        Membership: ".$membership."<br />
        Expire: ".$expire."<br />
        Status: ".$status."<br />
        ";
    }
} else {
    echo "You did not enter an ID!";
}
?>