Php PDO提取While循环中的数据
我试图将这些数据提取到一个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
如果你需要任何信息,请告诉我 由于您正在使用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!";
}
?>