0

我已经成功创建了一个连接到我的数据库的 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";
}
?>
4

4 回答 4

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]);
    }
于 2013-04-29T16:57:45.977 回答
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'";
于 2013-04-29T17:00:27.613 回答
0

如果我正确理解您的问题,您并询问如何将数据库中的数据直接输出到屏幕。在不提供任何格式的情况下,这可能是您正在寻找的。

$sql="SELECT * FROM $tbl_name WHERE username='$myusername'";
$result=mysql_query($sql);
$results_array=mysql_fetch_array($result);

拥有 $results_array 后,您可以使用普通的键控数组语法访问从数据库中提取的任何列,例如:

echo $results_array["username"];

希望这会有所帮助。

于 2013-04-29T17:00:35.267 回答
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);
?> 
于 2013-04-29T17:31:22.923 回答