我有一个链接到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'];
}
?>
答案 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?)