显示mysql数据库字段

时间:2013-04-29 23:39:54

标签: php html mysql

我有一个链接到PHP脚本的。当用户输入他们的用户名时,我想显示与他们的记录有关的字段。特别是'DOB'和'电子邮件'。

问题是,当我输入用户名时,它会打开test.php,但不会显示任何记录。

我的表格是:

<form id="form1" name="form1" method="post" action="test.php">
  <label>Name
  <input type="text" name="textfield" />
  </label>
  <p>
    <label>
    <input type="submit" name="Submit" value="Submit" />
    </label>

  </p>
</form>

我的PHP脚本是:

  <?php 

    $host=""; // Host name 
    $username=""; // Mysql username 
    $password=""; // Mysql password 
    $db_name=""; // Database name 
    $tbl_name="members"; // Table name  

mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

     $username = $_POST['textfield'];
      echo '</br>';
     $query = mysql_query("SELECT * FROM `members` WHERE `username`='$username'");

    while($result = mysql_fetch_array($query)) {
    //display
    echo $result['DOB'];
    echo $result['email'];
    }
    ?>

2 个答案:

答案 0 :(得分:2)

在运行任何查询之前,您应该连接到数据库:

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);

答案 1 :(得分:0)

而不是

$query = mysql_query("SELECT * FROM `orders` WHERE `username`='$username'");

这样做:

$sql = "SELECT * FROM `orders` WHERE `username`='$username'";
$query = mysql_query($sql) or die(mysql_error());
echo 'SQL=' . $sql;

你得到了什么结果? (什么是SQL?)