从php表行传递参数

Posted

技术标签:

【中文标题】从php表行传递参数【英文标题】:passing parameter from php table row 【发布时间】: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 queries 和bind_param 将用户数据添加到您的查询中。 请勿使用字符串插值或连接来完成此操作,因为您创建了严重的SQL injection bug。 切勿$_POST$_GET任何用户数据直接放入查询中,如果有人试图利用您的错误,这可能会非常有害。 @tadman 这不是一个严肃的网站,只是一个自学的爱好,但谢谢 - 会调查这个。 小心点。即使是玩具网站也可能被破解,给您带来数小时甚至数天的麻烦。 哦,天哪,谢谢@tadman,最好早点调查。 这个问题的状态是已解决还是未解决? 【参考方案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 编辑了我的答案,漏掉了一个引号

以上是关于从php表行传递参数的主要内容,如果未能解决你的问题,请参考以下文章

如何将参数从 bash 传递到 php 脚本?

将参数从php中的数组传递给构造函数[重复]

PHP 显示从url传递的参数

PHP 在phppress中将参数从php传递给js

“请求的未知参数”数据表错误将数据从 PHP 传递到 JS

在 PHP 中将数组作为参数而不是数组传递