【问题标题】:passing parameter from php table row从php表行传递参数
【发布时间】:2017-08-19 11:21:24
【问题描述】:

是否可以通过 php 表中的一行通过 href 传递 name_id 参数?

Sample Code:

<?php
    $name = $_GET["name"];
    $con = mysqli_connect("", "", "", "");
    if (mysqli_connect_errno()) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $result = mysqli_query($con, "SELECT * FROM table WHERE name LIKE '%$name%' ");

    echo "<table class='table table-condensed'>
            <tr>
                <th> name id </th>
                <th> name </th>
                <th> link </th>
            </tr>";

    while ($row = mysqli_fetch_array($result)) {
        echo "<tr>";
            echo "<td>" . $row['name_id'] . "</td>";
            echo "<td>" . $row['name'] . "</td>";
            echo "<td>" . "<a href='name.php?name_id=$name_id'>view</a>" . "</td>";
        echo "</tr>";
    }
    echo "</table>";

    mysqli_close($con);
?>

例如。表中有多个具有自动递增 id 的名称,我希望它打开 name.php 页面,我可以在其中从 url 获取 name_id?

提前致谢。

【问题讨论】:

  • 警告:当使用mysqli 时,您应该使用parameterized queriesbind_param 将用户数据添加到您的查询中。 请勿使用字符串插值或连接来完成此操作,因为您创建了严重的SQL injection bug切勿$_POST$_GET任何用户数据直接放入查询中,如果有人试图利用您的错误,这可能会非常有害。
  • @tadman 这不是一个严肃的网站,只是一个自学的爱好,但谢谢 - 会调查这个。
  • 小心点。即使是玩具网站也可能被破解,给您带来数小时甚至数天的麻烦。
  • 哦,天哪,谢谢@tadman,最好早点调查。
  • 这个问题的状态是已解决还是未解决?

标签: php html mysql sql phpmyadmin


【解决方案1】:

这对我有用。

  echo "<td>" . "<a href='name.php?name_id=" . $row['name_id'] ."'>". $row['name_id'] . "</a>" . "</td>";     

希望这对某人有所帮助!

【讨论】:

    【解决方案2】:

    我认为这将是最简单的解决方案

    echo "<td>" . "<a href='name.php?name_id=" . $row['name_id'] . "'>view</a>" . "</td>";
    

    【讨论】:

    • @AliceB1 编辑了我的答案,漏掉了一个引号
    猜你喜欢
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多