使用 URL 中的 ID 从 mySQL 选择数据

2023-12-02

我有一个包含列的表

GroupID | GroupName | GroupDesc | Overs |
-----------------------------------------
1       | Test Group|Description| Yes   |

我有一个名为 list.php 的页面,它当前为组表(上图)中数据库中的每一行创建 URL。

该代码不是最漂亮的,但我认为它有效,这是他的代码

list.php

<?php 
    $result = mysql_query("SELECT * FROM groups");

    while($row = mysql_fetch_array($result))
        {
            echo "<div class=\"divider\">";
            echo "<a href=\"group.php?id=";
            echo $row['GroupID'];
            echo "\">";
            echo $row['GroupName'];

            echo "</a>";
            echo "<br><br>";
            echo $row['GroupDesc'];
            echo "<br>";
            echo "Over 18's: ";
            echo $row['AgeRes'];
            echo "</div>";
        }
?>

然后创建一个像这样的 URLhttp://domainname.com/group/group.php?id=1

这就是我的问题所在 - 如何使用 URL 中的 ID 部分从上面的数据库中选择相关行?

我的第二个问题是我们如何阻止 SQL 注入?

我对这一切都很陌生,所以我希望得到有关此问题的答案以及任何好的阅读资源,以便我可以进一步发展我的技能。

Thanks


要回答第一个问题,您需要在查询中使用 where 子句。我不确定我使用的列名称是否正确,但我相信您已经明白了。有大量免费的在线交互式 SQL 教程,您可以使用它们来了解如何编写查询代码。

要回答你的第二个问题,你可以使用mysql_real_escape_string()函数来整理正在传递的变量。然而,更好的方法是改变连接数据库的方式。这PDO and mysqli两者在连接数据库方面都做得更好。你应该考虑学习这些——特别是如果你刚刚开始。

<?php 
    $id=mysql_real_escape_string($_GET['id']);
    $result = mysql_query("SELECT * FROM groups where id=".$id.";");
    // Am not 100% sure if that is the right column name to use for your database.


    while($row = mysql_fetch_array($result))
    {
        echo "<div class=\"divider\">";
        echo "<a href=\"group.php?id=";
        echo $row['GroupID']; 
        echo "\">";
        echo $row['GroupName'];

        echo "</a>";
        echo "<br><br>";
        echo $row['GroupDesc'];
        echo "<br>";
        echo "Over 18's: ";
        echo $row['AgeRes'];
        echo "</div>";
    }
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 URL 中的 ID 从 mySQL 选择数据 的相关文章

  • laravel 中的 jwt 中的“无法从请求中解析令牌”

    我面临着 无法从请求中解析令牌 Laravel 中的 JWT 错误 我在 localhost Windows 7 中的 Xampp 中尝试了相同的代码 它正在工作 但在服务器上它不起作用 我已经通过了 授权 标头中的令牌也发生了变化 hta
  • VB 脚本 Documents.Open 抛出 424 错误

    所以我有一个vbs脚本 Function test2open sSourceFile sPDFFile Dim wApp As Word Application Dim wDoc As Word Document logStream wri
  • PHP 计算字符串出现次数的最快方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 字符串 S 的前缀是 S 的任何前导连续部分 例如 c 和 cod 是字符串 codility 的前缀 为简单起见 我们要求前缀非空 字符串 S
  • PHP表单提交后如何显示成功消息?

    这是代码 我想要这样 表单提交 gt page2 php gt 重定向 gt page1 php 这是消息 弹出窗口或其他内容 page1 php
  • 第一个选项为空的选择框

    如何将选择框中的第一个选项设置为空值 我正在从数据库获取数据 我想将选项默认设置为 请选择一个选项 我找到 default gt Please select 不适用于 HTML5 必需属性 这确实有效 listOfValues 1 gt C
  • 加载“mysql2”Active Record 适配器时出错

    我正在尝试升级我的应用程序 这是我在部署应用程序时遇到的错误 加载 mysql2 Active Record 适配器时出错 缺少它所依赖的宝石 无法激活mysql2 0 4 4 已经激活mysql2 0 3 21 确保所有依赖项都添加到 G
  • 使用外键将表拆分为两个表

    我有一张桌子 drupal comments 其中包括以下列 cid primary key uid foreign key to users table optional name varchar optional email varch
  • 使用 swiftmailer 向多个收件人发送电子邮件

    我正在尝试在我的项目中使用 swiftmailer 以便我可以向多个用户发送 html 新闻通讯 我已经彻底搜索过 但我得到的一切从未对我有用 我想在表单输入字段中粘贴多个收件人 以逗号分隔 然后将 html 电子邮件发送给他们 我将收件人
  • 查询和扫描多行性能缓慢

    下面的查询一行的执行时间为 6 18 分钟 Exception type 1 的基数值为 3 我不知道如何提高性能 Query select count 1 as rage tap from summary funnel 1066 s jo
  • 如何使用具有比较标准的 findBy 方法

    我需要使用使用比较标准 不仅仅是精确标准 的 神奇查找器 findBy 方法 换句话说 我需要做这样的事情 result purchases repository gt findBy array prize gt gt 200 这样我就可以
  • 带有列标题的php数组到csv的转换

    我想将数组转换为 csv 我能够将关联数组转换为 csv 但无法获取标题 我想要动态地将数字类型日期作为标题 下面是我转换的数组 Array 0 gt Array NUMBER gt 67 TYPE gt Other DATE gt 3 3
  • 如何在 Kohana 中包装 PHP 遗留代码?

    我有大量用 PHP 编写的遗留代码 这些代码不是在任何特定框架上编写的 而是主要是老式风格 即内联 PHP 然而 我的大部分新代码都是在 Kohana 3 1 X 框架上编写的 尽管 Kohana 确实允许遗留代码和 Kohana 文件在同
  • 无法使用模式 r: fopen(): AWS Elastic Beanstalk 打开

    错误 无法使用模式 r fopen 打开 文件名不能为空当我尝试上传较大的文件 超过 5MB 时 我不断收到此错误 我已将 PHP 应用程序上传到 AWS Elastic Beanstalk 并将文件上传到 AWS S3 我的代码中甚至没有
  • 显示产品中的类别名称和类别 ID - Laravel

    我已经找到了这个答案 但它对我不起作用 Laravel 按 id 显示类别 https stackoverflow com questions 39222584 laravel displaying categories by id 我无法
  • 使用 order by 和 limit 从多个表中删除

    我试图从使用 ORDER BY DESC 和 LIMIT 有关系的两个表中删除 DELETE FROM my rel table AS t1 LEFT JOIN my photo table AS t2 ON t2 typeid t1 ty
  • 是否可以在 php.ini 中指示 PHP 使用 postfix 配置?

    是否可以配置 PHP 使用 postfix 的配置集发送电子邮件 WordPress 通过 PHPMailer 依赖于 php ini 中的这些设置是否正确 SMTP localhost http php net smtp port smt
  • 依赖注入容器什么时候会变得太大,我该怎么办?

    我们都知道为什么依赖注入很棒因为它使代码耦合更少 更容易测试 并且更容易阅读 然后有些人决定使用依赖注入容器 like pimple http pimple sensiolabs org PHP 可以协助依赖倒置 http en wikip
  • Mysql:将数据库从本地时间转换为UTC

    我需要从本地时间 ut UTC 转换现有的 日期时间字段 数据库 这些值和日期时间存储在时区为 CET 1 夏令时 2 的服务器上 选择我使用的数据时UNIX TIMESTAMP 它神奇地补偿了一切 即时区偏移和夏令时 如果我正确阅读了文档
  • 如何使用 Mockery 在第 N 次调用模拟方法时抛出异常

    我需要测试我编写的某些代码多次调用另一个类上的方法时的行为 其中一次调用将导致抛出异常 我在用Mockery http docs mockery io模拟可能引发异常的类 因此 就我而言 该方法将被调用三次 我需要它在第二次抛出异常 这是我
  • 使用 ActiveRecord 和 Yii2 记录实际的 SQL 查询?

    我正在这样做 students Student find gt all return this gt render process array students gt students 然后在视图中 foreach students as

随机推荐

  • 了解是否使用了 const 限定符

    C 中是否有任何方法可以查找变量是否具有 const 限定符 或者如果它存储在 rodata 部分中 例如 如果我有这个功能 void foo char myString 在这两个不同的函数调用中应采取不同的操作 char str abc
  • C++ CRTP 初始化

    我在运行以下程序时遇到了段错误 include
  • 在 C++ 中解析字符串中的键/值对

    我正在使用 C 11 没有 Boost 我有一个函数 它接受一个 std string 作为输入 其中包含一系列键值对 用分号分隔 并返回从输入构造的对象 所有密钥都是必需的 但可以按任意顺序排列 下面是一个输入字符串示例 顶部 0 底部
  • 关于 perl 到 python 互操作的建议?

    我们有相当大的 Perl 代码库 在可预见的未来 我们的代码库将保留在 Perl 中 不过 我们正在考虑添加基于 GUI 的仪表板实用程序 我们正在考虑用 Python 编写仪表板 使用 tkinter 或 wx 然而 问题是我们希望在 P
  • pip 在哪里使用虚拟环境安装包?

    情况 我创建了一个虚拟环境并使用显式路径来运行pip 无货源activate 是否在全局安装包dist packages或者将它们安装在虚拟环境中site packages Details As pip 在哪里安装它的软件包 解释说 pip
  • 在模型中使用助手:如何包含助手依赖项?

    我正在编写一个处理来自文本区域的用户输入的模型 遵循以下建议http blog caboo se articles 2008 8 25 sanitize your users html input 我在保存到数据库之前使用 before v
  • 如何获取Android Q中特定文件夹的路径

    我正在尝试显示保存在图库中特定文件夹中的所有图像安卓Q getExternalStoragePublicDirectory方法已弃用且不起作用 如何获取文件夹的路径安卓Q Override protected ArrayList
  • 如何使用 Jupyter + SparkR 和自定义 R 安装

    我正在使用 Dockerized 映像和 Jupyter Notebook 以及 SparkR 内核 当我创建 SparkR 笔记本时 它使用 Microsoft R 3 3 2 安装 而不是普通的 CRAN R 安装 3 2 3 我使用的
  • 沿着旋转路径附加影片剪辑(通过 AS3)

    我该怎么办 沿着路径 其他影片剪辑 附加影片剪辑 例如 脚步声 这将在一次附加一个影片剪辑的时间间隔内 我需要旋转 即脚步应该根据路径方向旋转 Thanks 1 创建坐标数组 这是你的路 您可以通过多种方法来实际创建数组 但结果应该与此类似
  • java do while循环在满足条件后继续循环

    我是一名新的java程序员 我正在编写一个程序 为3台打印机设置3个型号 如果用户输入错误的值 我希望它继续询问用户型号 我让它工作 但前提是用户输入的第一个值是 3 台打印机之一的编号 如果第一个值不是可能的值之一并且第二个输入是 则它仍
  • 如何在Android中使用dimens.xml?

    当我设计布局时 由于可维护性主题 我将所有维度集中在 dimens xml 中 我的问题是这是否正确 最好的做法是什么 关于这方面的信息很少 什么都没有 我知道将布局的所有字符串集中在 strings xml 上 将颜色集中在 color
  • Python正则表达式搜索十六进制字节

    我正在尝试在二进制文件中搜索一系列十六进制值 但是 我遇到了一些无法完全解决的问题 1 我不知道如何搜索整个文件并返回所有匹配项 目前 我的 f seek 只达到了我认为可能的值 这不好 2 我想以十进制或十六进制形式返回可能匹配的偏移量
  • 未签名的APK无法安装

    我正在尝试将我的应用程序分发给一些人进行测试 我已经直接从 eclipse 将它安装在我的 Desire 上 并且运行良好 要创建 APK 文件 我选择 导出未签名的应用程序包 直接从eclipse 然后创建一个APK文件 我通过电子邮件将
  • Android:如何以编程方式从 url 将图像设置为 imageview

    我有一个来自我的 REST API 的图像 URL 现在我想在加载活动时将其设置为图像视图 下面是我如何从其余 api 获取 bean 然后从中获取 URL Message message new Message String imageU
  • UWP 窗口放置

    我正在 Visual Studio 2015 RC 中创建 net UWP 应用程序 我使用以下代码成功设置了窗口大小 ApplicationView GetForCurrentView TryResizeView New Size wid
  • 分割文件 - Java/Linux

    我有一个包含近 2 5 亿个字符的大文件 现在 我想将其分成几个部分 每个部分包含 3000 万个字符 因此前 8 部分将包含 3000 万个字符 最后一部分将包含 1000 万个字符 另一点是 我想在下一部分的开头包含每个文件的最后 10
  • 如何通过 ZF2 FormElementManager 将 Doctrine ObjectManager 传递到表单

    我想在 ZF2 中创建自定义表单元素 这需要 FormElementManager 我目前在表单创建中使用 Doctrine Hydrator 如下所示本教程 在此方法中 在控制器中创建一个 ObjectManager 对象 并在实例化时将
  • 基于 R 中的值进行迭代和分配的函数

    我正在编写一个函数 该函数迭代一个帐户列表 每个帐户都有一个关联的值 并为该帐户分配名称列表中的一个名称 名称列表将具有关联的值 我希望分配的名称是具有最小值的名称 name totalvalue Jeff 54 Christy 43 Ma
  • Adobe flash cs6 输出窗口在 .exe 文件中执行 Filesteam 操作时自动关闭,但在 Flash 调试模式下工作正常

    我在用Adobe Flash CS6用于创建桌面应用程序 在该应用程序中我使用闪存文件系统文件流保存文本文件 我不想使用文件参考因为我不想显示保存对话框 当我在导出的文件中调用 new FileStream 时 swf or exe文件后
  • 使用 URL 中的 ID 从 mySQL 选择数据

    我有一个包含列的表 GroupID GroupName GroupDesc Overs 1 Test Group Description Yes 我有一个名为 list php 的页面 它当前为组表 上图 中数据库中的每一行创建 URL 该