当将有关mysql表的信息作为链接进行回显,并使用$_GET将要在另一个页面中检索的链接发送信息时,此操作不起作用


when echoing information about a mysql table as a link, and sending information with the link to be retrieved in another page using $_GET not working

在我的mysql表中,我的主键列为"id",我想将相册的名称(在mysql中存储为"titre")作为链接,并在链接中包括id号,这样用户就可以访问链接页面中关于相册的所有信息并对其进行修改。所以我知道它应该看起来像这样,以回应一个链接,并包括我已经从mysql:检索到的id

echo <a href='$link&id=$id'>Link</a> 

但无法找到正确的书写方式,因此&id既不会被忽略,也不会作为字符串的一部分发送。

这是我的php代码:

<?php
    $requete='SELECT titre, id FROM AY_albums';
    $response = $bdd->query($requete);
    while($donnees = $response->fetch(PDO::FETCH_ASSOC)){
        $p = "Nom :".$donnees['titre']." <br />'n";
        $idIci=$donnees['id'];
        $lien="modifierAlbumAdmin.php";
        echo "<a href='$lien'&id=$idIci>$p</a>";
    } ?>

这是我必须在链接指向的页面上检索的代码:

<?php
    if(isset($_GET["id"])){
        $requete ='SELECT * FROM AY_albums WHERE id=$_GET["id"]';
        $response = $bdd->query($requete);
        $donnees = $response->fetch(PDO::FETCH_ASSOC);
        $titre=$donnees['titre'];
        print "yes";
    }
?>

我添加了一个print语句,看看它是否进入if语句,而它甚至没有进入。有人能帮忙吗?谢谢

您的查询不是正确的

 $requete ='SELECT * FROM AY_albums WHERE id=$_GET["id"]';

单引号强制所有内容为字符串,并且不会解析字符串

Use
 $requete ='SELECT * FROM AY_albums WHERE id='.$_GET["id"];

使用echo"<a href='"$留置权"?id=$idIci'>$p";

查询字符串正在附加到文件名。两者应该用分隔?(问号)