我已经成功创建了一个连接到我的数据库的PHP脚本。当用户键入他们的电子邮件地址时,我想在数据库中显示与该电子邮件地址相关的同一页面上的一些信息。我想要显示的数据库字段是:名称,跟踪,状态。
我的问题是如何显示此信息。我知道我在底部有代码,如果登录成功,我不再需要重定向到页面。
PHP脚本:
<?php
$host="######"; // Host name
$username="######"; // Mysql username
$password="######"; // Mysql password
$db_name="######"; // Database name
$tbl_name="orders"; // Table name
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// username and password sent from form
$myusername=$_POST['myusername'];
$myusername = stripslashes($myusername);
$myusername = mysql_real_escape_string($myusername);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
header("location:trackyourorder.html"); //DO NOT WANT TO REDIRECT
}
else {
echo "Wrong Username";
}
?>
答案 0 :(得分:0)
您可以将fetch_row函数与while循环结合使用。这是最简单的方法。在此处阅读有关此功能的更多信息:http://www.php.net/manual/en/mysqli-result.fetch-row.php
例如:
if ($result = mysqli_query($link, $query)) {
/* fetch associative array and print result*/
while ($row = mysqli_fetch_row($result)) {
printf ("%s (%s)\n", $row[0], $row[1]);
}
答案 1 :(得分:0)
举个例子:
$result = mysql_query($sql);
if(! $result) die("Error executing query");
while($row = mysql_fetch_assoc($result) {
echo $row["name"];
echo $row["tracking"];
echo $row["status"];
}
或者,您可以采用面向对象的方式:
$result = mysql_query($sql);
if(! $result) die("Error executing query");
while($row = mysql_fetch_object($result) {
echo $row->name;
echo $row->tracking;
echo $row->status;
}
在相关说明中,如果您想要的唯一字段是名称,跟踪和状态,则只应在查询中选择这些字段。它将使查询更快,并防止提取您不想要的数据(这可能更安全)
"SELECT name, tracking, status FROM $tbl_name WHERE username='$myusername'";
答案 2 :(得分:0)
如果我正确理解了您的问题,那么您将询问如何将数据从数据库直接输出到屏幕。如果不提供任何格式,这可能就是您要找的。 p>
$sql="SELECT * FROM $tbl_name WHERE username='$myusername'";
$result=mysql_query($sql);
$results_array=mysql_fetch_array($result);
获得$ results_array后,您可以使用常规键控数组语法从数据库中访问任何已获取的列,例如:
echo $results_array["username"];
希望这有帮助。
答案 3 :(得分:0)
从开始到结束的传统方式如下:
<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM Persons");
while($row = mysqli_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName']; //**Put all your formatting in here!**
echo "<br />";
}
mysqli_close($con);
?>