mysql查询指定id信息,如何从MYSQL数据库中检索特定ID的详细信息

这篇博客讨论了如何从MySQL数据库中根据URL中的id值检索数据。当尝试使用原始查询方法时,遇到了显示空白页面的问题。文章提供了两种使用PDO(PHP Data Objects)解决此问题的方法,包括预处理语句和直接查询,以安全有效地获取并显示指定id的people表中的详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Getting data from the database depending on the value of the id in the URL.

$id= $_GET['id'];

$strSQL = "SELECT * FROM people WHERE id='$id'";

$rs = mysql_query($strSQL);

This is working, But it's displaying a blank page.

How can i fix this ?

解决方案

As I mentioned in my original comment:

"You need to use a loop in order to fetch the data, then echo it."

Others have given you examples and not to use your present method, here is a PDO method:

$mysql_hostname = 'xxx';

$mysql_username = 'xxx';

$mysql_password = 'xxx';

$mysql_dbname = 'xxx';

$id = $_GET['id'];

try {

$pdo= new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password);

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

exit( $e->getMessage() );

}

try {

$stmt = $pdo->prepare('SELECT * FROM people WHERE id = :id');

$stmt->bindParam(':id', $id);

$stmt->execute();

} catch (PDOException $e) {

echo $e->getMessage();

}

/* optional method

foreach($stmt as $row) {

echo $row['id'] . ' ' . $row['name'] . ' ' . $row['email'];

}

*/

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

$id = $row['id'];

$n = $row['name'];

$e = $row['email'];

}

echo $id;

echo "
";

echo $n;

echo "
";

echo $e;

?>

Another PDO method:

$mysql_hostname = 'xxx';

$mysql_username = 'xxx';

$mysql_password = 'xxx';

$mysql_dbname = 'xxx';

$id = $_GET['id'];

// $id= 4; // my own test id number

try {

$pdo= new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password);

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

exit( $e->getMessage() );

}

try {

$sql = "SELECT * FROM people WHERE id='$id'";

$results = $pdo->query($sql);

} catch (PDOException $e) {

echo $e->getMessage();

}

/* optional method

foreach($results as $row) {

echo $row['id'] . ' ' . $row['name'] . ' ' . $row['email'];

}

*/

while ($row = $results->fetch(PDO::FETCH_ASSOC)) {

$id = $row['id'];

$n = $row['name'];

$e = $row['email'];

}

echo $id;

echo "
";

echo $n;

echo "
";

echo $e;

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值