【问题标题】:insert php mysql query in hyperlink在超链接中插入 php mysql 查询
【发布时间】:2014-04-19 00:26:13
【问题描述】:

我想输出我的产品,它们按属于它的类别分类。我的意思是,当我点击电视时,只会在 category.php 中输出电视。我有这个代码,但它没有给出任何结果。

这是我的代码

index.php

<a href="category.php?id='.$category['TV'].'"><span>TVs</span></a>
<a href="category.php?id='.$category['mp3'].'"><span>mp3-players</span></a>
<a href="category.php?id='.$category['laptop'].'"><span>Laptops</span></a>

category.php

$category=$_GET['id'];
$sql="SELECT * FROM products WHERE category='$category'";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
?>
<? echo $rows['name'].$rows['description'].$rows['price']; ?>

【问题讨论】:

  • 这是一个极其不安全的 SQL 调用,很容易被 SQL 注入。
  • 那你有什么建议?
  • 我的建议是你看看,并开始使用PDO,并花一些时间阅读安全性,特别是在 SQL Injection。

标签: php mysql post hyperlink get


【解决方案1】:

问题就在这里:

<a href="category.php?id='.$category['TV'].'"><span>TVs</span></a>
<a href="category.php?id='.$category['mp3'].'"><span>mp3-players</span></a>
<a href="category.php?id='.$category['laptop'].'"><span>Laptops</span></a>

应该是:

<a href="category.php?id=TV"><span>TVs</span></a>
<a href="category.php?id=mp3"><span>mp3-players</span></a>
<a href="category.php?id=laptop"><span>Laptops</span></a>

然后你可以得到这样的值:

$category = $_GET['id'];
$sql="SELECT * FROM products WHERE category='".$category."'";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);

旁注:除了使用已弃用的 mysql_* 函数外,请避免使用 unsanitize 查询字符串/输入并改用 PDO::mysqli_*

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 2017-05-03
    • 2011-10-15
    • 1970-01-01
    • 2015-07-08
    • 2014-07-21
    相关资源
    最近更新 更多