如何根据数据库条目ID使用PHP从MySQL数据库中提取数据

时间:2019-03-16 22:13:54

标签: php mysql sql

对于PHP / SQL和所有这些东西,我是一个完全的新手,也不太熟悉任何一种编程技术。我的问题是,我目前正在尝试将MySQL表中的数据提取到网站上,但是在完成代码后,它会将表中的所有数据提取出。 我希望以某种方式基于其主键仅从特定表行中提取数据。我当前的代码如下所示。

    <?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "rainbow";

$link = mysqli_connect($servername, $username, $password, $dbname);

if($link === false){
  die("ERROR: COuld not connect." . mysqli_connect_error());
}

$sql = "
SELECT name
     , nick
     , surname
     , team
     , country
     , birthdate
     , mouse
     , dpi
     , keyboard
     , headset 
  FROM players
";
if($result = mysqli_query($link, $sql)){
  if(mysqli_num_rows($result) > 0){
    echo "<table>";
      echo "<tr>";
        echo "<th>name</th>";
        echo "<th>nick</th>";
        echo "<th>surname</th>";
        echo "<th>team</th>";
        echo "<th>country</th>";
        echo "<th>birthdate</th>";
        echo "<th>mouse</th>";
        echo "<th>dpi</th>";
        echo "<th>keyboard</th>";
        echo "<th>headset</th>";
      echo "</tr>";
    while ($row = mysqli_fetch_array($result)){
        echo "<tr>";
          echo "<td>" . $row['name'] . "</td>";
          echo "<td>" . $row['nick'] . "</td>";
          echo "<td>" . $row['surname'] . "</td>";
          echo "<td>" . $row['team'] . "</td>";
          echo "<td>" . $row['country'] . "</td>";
          echo "<td>" . $row['birthdate'] . "</td>";
          echo "<td>" . $row['mouse'] . "</td>";
          echo "<td>" . $row['dpi'] . "</td>";
          echo "<td>" . $row['keyboard'] . "</td>";
          echo "<td>" . $row['headset'] . "</td>";
        echo "</tr>";
    }
    echo "</table";
    mysqli_free_result($result);
    }
    else {
      echo "Ziadny vysledok a nic nefunguje";
  }
}

mysqli_close($link);
?>

说实话,我什至不确定这是否是正确的方法,但是它可以正常工作,并且将数据拉入对我来说不必要的HTML表中,我只是想尝试一下。感谢您的回答!

2 个答案:

答案 0 :(得分:0)

假设您有一个包含以下代码的页面:

<form action='page2.php' method='post'>
Inform a number:
<input type='text' name='number'>
<input type='submit' value='Send'>
</form>

将上面的表单另存为page1.php

文件page2.php将包含从表中选择一个寄存器并显示结果的代码。

<?php 
$id = $_POST["number"];

//The sql command will look like this:
$sql = "SELECT name, nick, surname, team, country, birthdate, mouse, dpi, keyboard, headset FROM players WHERE id = $id";
?>

答案 1 :(得分:0)

几件事。 首先,您通常会将一些机密资料(数据库名称,用户名,密码和服务器名称)保存在单独的文件(例如config.php)中,然后将该文件“包括”在此文件中... include(“ config .php”); 其次,在$ sql行中,您将分别选择所有列,然后在“ while”语句之后的10行中,再次选择它们(用于显示)。我将使用玩家的SELECT *在$ sql行中调用整个表,并在其中跟随WHERE。作为新手,您从batabase进行的基本检索有3个主要词:SELECT(表示去获取您想要的东西,在大多数情况下,用*抓住所有内容)FROM(您要从中获取它的表)表是玩家)和位置(这是您的选择标准... id> 50 ... colour =“ blue” ...您想要的)。当将数据推送到数据库时,您将使用SET和UPDATE,但是在检索... SELECT,FROM,WHERE时。 您的“ while”语句将只执行您的$ sql语句(从,选择,从何处选择)并返回结果,直到记录用完为止
祝新手好运 gri2a