如何借助mysql表中的id值回显其他字段(列)值

时间:2015-09-25 17:45:13

标签: php mysql

我有带有页面ID的PHP网页,例如以下示例:

www.mysite.com/page.php?id=150

www.mysite.com/page.php?id=151

www.mysite.com/page.php?id=152

依旧......

mysql表有两列包含字段名称和值,例如:

id = 150

email = test@mysite.com

我可以在id

的帮助下检索网页echo $_GET['id'];

如何根据GET参数获取电子邮件?例如www.mysite.com/page.php?id=150我希望回复test@mysite.com上的电子邮件page.php

2 个答案:

答案 0 :(得分:1)

好的,从您提供的代码中,您需要找到您想要数据的列。

<?php 
$id = (int)$_GET['id'];
$result = mysql_query("SELECT email FROM table_name WHERE id =$id"); 
while ($row = mysql_fetch_array($result)) { 
     echo $row['email'];
     //$emails[] = $row['email']; or if you want to use them later store them.
} 
?> 

您还应该更新为PDOmysqli驱动程序。 mysql_已过期。它也无法处理您应该使用的准备语句。这将阻止SQL注入。我在这里将用户输入转换为整数以避免注入孔。

答案 1 :(得分:0)

如何在page.php上获取并回显相关的电子邮件字段?

那(对我来说)好像你正在尝试获取输入字段,如果是这样,这可能是一种方式:

<form method = "POST" action = "page.php">
Enter the Email:
<input type = "text" name = "email">
<input type = "hidden" name = "check">
<input type = "submit" value = "Goto Next Page">
</form>

然后在page.php:

<?php
if(isset($_POST['check'])){

echo $email = $_POST['email'];

$que = "SELECT email from tablename WHERE email = '$email'";
$res = mysqli_query($con, $que);
?>

修改

从评论中移出,这是你应该尝试的:

<?php 
$id = (int)$_GET['id'];
$result = mysql_query("SELECT email FROM table_name WHERE id ='$id'"); 
 while ($row = mysql_fetch_array($result)) {
 echo $row['email'];
 // write more this to fetch the required data
echo $row['Your_Next_Column_Name_Here']; 
} 
?>
  

注意:这将有效,但严格建议移动   到mysqliPDO