Php 按url中的特定字段从MySQL数据库表中获取数据

Php 按url中的特定字段从MySQL数据库表中获取数据,php,mysql,Php,Mysql,我是PHP MySQL新手。我正在开发一个歌曲集网站 我想为每个字母表在单独的页面中按字母顺序创建表 当用户单击菜单中的字母表时,它将指向此页面site/publicsearch.php?browse=a 这是数据库: | ID | TITLE | ARTIST | CATEGORY | ALPHABET | +----------------------------------------------------+ | 1 | Amazing love | XXXXXX

我是PHP MySQL新手。我正在开发一个歌曲集网站

我想为每个字母表在单独的页面中按字母顺序创建表

当用户单击菜单中的字母表时,它将指向此页面
site/publicsearch.php?browse=a

这是数据库:

| ID  |  TITLE        | ARTIST | CATEGORY | ALPHABET |
+----------------------------------------------------+
|  1  | Amazing love  | XXXXXX | Love     |     a    |
|  2  | Above all     | XXXXXX | Worship  |     a    |
|  3  | BXXXX         | XXXXXX | Love     |     b    |
|  4  | BXXXX         | XXXXXX | Worship  |     b    |
我这样拉上面的数据库表:它工作得很好

   <?php
$servername = "localhost";
$username = "xxxxxxx";
$password = "xxxxxxxx";
$db_name = "xxxxxxxxxxx";

// Create connection
$conn = new mysqli($servername, $username, $password, $db_name);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);

echo "Connected successfully";
exit();
}
    // Attempt select query execution

    $sql = "SELECT * FROM lyrics_a";

    if($result = mysqli_query($conn, $sql)){

        if(mysqli_num_rows($result) > 0){

            echo "<table class='table'>";

                echo "<tr>";

                    echo "<th>#</th>";

                    echo "<th>Title</th>";

                    echo "<th>artist</th>";

                    echo "<th>cateogry</th>";

                echo "</tr>";

            while($row = mysqli_fetch_array($result)){

                echo "<tr>";

                    echo "<td>" . $row['id'] . "</td>";

            echo "<td> <a href=publicsong.php?id=".$row['id'] . ">" . $row['eng_title'] . "</a> " . $row['tel_title'] . " </td>";

                    echo "<td>" . $row['artist'] . "</td>";

                    echo "<td>" . $row['category'] . "</td>";

                echo "</tr>";

            }

            echo "</table>";

            // Close result set

            mysqli_free_result($result);

        } else{

            echo "No records matching your query were found.";

        }

    } else{

        echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);

    }



    // Close connection

    mysqli_close($link);

    ?>
我试过下面的代码不起作用

<?php
$servername = "localhost";
$username = "xxxxxx";
$password = "xxxxxxx";
$db_name = "xxxxxxxxx";

// Create connection
$conn = new mysqli($servername, $username, $password, $db_name);
// Check connection
if ($conn->connect_error){
  die("Connection failed: " . $conn->connect_error);
} 
$alphabet = $_GET['alphabet'];
$id = mysqli_real_escape_string($conn,$id);
$query = "SELECT * FROM `lyrics` WHERE `alphabet`='" . $alphabet . "'";
$result = mysqli_query($conn,$query);

while($row = mysqli_fetch_array($result)) {
echo "<br><br>";
echo $row['id'];
echo $row['title'];
echo $row['lyrics'];
echo $row['alphabet'];
}
?>


我是新手。请帮忙。谢谢。

您提出了以下URL:
publicsearch.php?browse=a

但是在脚本中,您使用的是请求参数
$\u GET['alphabet']

此外,数据库中不需要单独的列
字母表
,您可以使用:

替换为:

$alphabet = mysqli_real_escape_string($conn,$_GET['browse']);
$query = "SELECT * FROM `lyrics` WHERE `alphabet`= '" . $alphabet . "' ";
$letter = $_GET['browse'];
$sql = "SELECT * FROM `lyrics` WHERE title LIKE '{$letter}%'"
$alphabet = $_GET['alphabet'];
$id = mysqli_real_escape_string($conn,$id);
$query = "SELECT * FROM `lyrics` WHERE `alphabet`='" . $alphabet . "'";
$alphabet = mysqli_real_escape_string($conn,$_GET['browse']);
$query = "SELECT * FROM `lyrics` WHERE `alphabet`= '" . $alphabet . "' ";