Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何显示数据库中的数据_Php_Html_Mysql - Fatal编程技术网

Php 如何显示数据库中的数据

Php 如何显示数据库中的数据,php,html,mysql,Php,Html,Mysql,我已经成功地创建了一个连接到我的数据库的PHP脚本。当用户键入他们的电子邮件地址时,我希望在同一页面上显示数据库中与该电子邮件地址相关的一些信息。我要显示的数据库字段是:名称、跟踪、状态 我的问题是如何显示这些信息。我知道我有代码在底部重定向到一个页面,如果登录成功,我不再想要 PHP脚本: <?php $host="######"; // Host name $username="######"; // Mysql username $password="######"; // M

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

您可以将fetch_row函数与while循环结合使用。这是最简单的方法。请在此处阅读有关函数的更多信息:

例如:

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]);
    }
例如:

$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;
}
另一方面,如果只需要名称、跟踪和状态字段,则应在查询中仅选择这些字段。它将加快查询速度,并防止获取您不想要的数据(这可能更安全)


如果我正确理解了您的问题,您可以询问如何将数据从数据库直接输出到屏幕。如果不提供任何格式,这可能就是您想要的

$sql="SELECT * FROM $tbl_name WHERE username='$myusername'";
$result=mysql_query($sql);
$results_array=mysql_fetch_array($result);
拥有$results_数组后,您可以使用普通键控数组语法从数据库访问任何获取的列,例如:

echo $results_array["username"];

希望这能有所帮助。

从开始到结束的传统方式如下

<?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);
?> 


您必须使用Ajax来实现相同的功能,这是一个基本示例。mysql库被认为已经过时,将在PHP的未来版本中删除。如果您的服务器有mysqli库,那么最好使用它。如果您的主机更改了PHP版本并且不允许您选择要使用的版本,那么现在使用它可以防止代码中断。除了“未来验证”您的代码之外,mysqli库更健壮、更安全,因此当您需要回复时,最好使用它代替mysql。你能确认这是正确的吗。对不起,我还不太熟悉PHP。谢谢,但我想显示一个特定电子邮件地址的数据,用户输入的所有列名都是正确的,看起来应该可以。
<?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);
?>