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

问题描述 投票:-3回答:2

我是完整的新手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表格,这对我来说是不必要的,我只是想尝试一下。谢谢你的回答!

php mysql sql
2个回答
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";
?>

0
投票

有几件事。首先,您通常会保留一些机密内容(数据库名称,用户ID,密码和服务器名称在一个单独的文件中(例如config.php),然后您将“包含”该文件包含在此文件中... include(“config” .php“);其次,在你的$ sql行中,你将单独选择所有列,然后在你的”while“语句之后的10行中再次选择它们(用于显示)。我将调用整个表格你的$ sql系列带有来自玩家的SELECT *,我会用WHERE跟随它。作为一个新手,你从batabase的基本回复有3个主要词,SELECT(意思是去得到你想要的东西,在大多数情况下,抓住它所有a *)FROM(你希望得到它的表,在你的情况下表是玩家)和WHERE(这是你的选择标准... id> 50 ... color =“blue”...无论你想要什么当。将数据推送到数据库时,你会使用SET和UPDATE但是当检索... SELECT,FROM,WHERE时。你的“while”语句只会执行你的$ sql语句(sele) ct,from,where)并返回结果,直到记录用完为止 祝你好运新手gri2a

© www.soinside.com 2019 - 2024. All rights reserved.