PDO - 将字段名称作为变量传递

2023-12-02

我只是将代码从 mysql_query 样式命令迁移到 PDO 样式,但遇到了问题。旧代码如下所示:

$query_list_menu = "SELECT ".$_GET['section_name']." from myl_menu_hide_show WHERE id='".$_GET['id']."'";

更新后的代码如下所示。显然它不起作用。我存储在$_GET['section_name']表示数据库中字段名称的字符串。但我认为当我将它作为变量传递时存在问题。下面的代码有效吗?谢谢。

$query_list_menu = "SELECT :section_name from myl_menu_hide_show WHERE id=:id";
$result_list_menu = $db->prepare($query_list_menu);
$result_list_menu->bindValue(':section_name', $_GET['section_name'] , PDO::PARAM_STR);
$result_list_menu->bindValue(':id', $_GET['id'] , PDO::PARAM_INT);  
$result_list_menu->execute();

If $_GET['section_name']包含列名,您的查询应该是:

$query_list_menu = "SELECT " . $_GET['section_name'] . " from myl_menu_hide_show WHERE id=:id";

Giving:

$query_list_menu = "SELECT :section_name from myl_menu_hide_show WHERE id=:id";
$result_list_menu = $db->prepare($query_list_menu);
$result_list_menu->bindValue(':id', $_GET['id'] , PDO::PARAM_INT);  
$result_list_menu->execute();

原因是您希望列的实际名称出现在查询中 - 您已将其更改为参数,这实际上没有多大意义。

我还将添加使用$_GET['section_name']直接这样会带来巨大的安全风险,因为它允许 SQL 注入。我建议您验证以下值$_GET['section_name']通过在构建和执行查询之前对照列列表进行检查。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PDO - 将字段名称作为变量传递 的相关文章

  • 如何在 PHP 中正确分割路径

    执行以下操作的最佳方法是什么 我通过 AJAX 请求获取路径 e g dir1 dir2 dir3 dir4 我需要在我的网页上这样展示它 dir1 gt gt dir2 gt gt dir3 gt gt dir4 它们每个都是 html
  • FPDF - 内嵌粗体文本

    我正在尝试从 PHP 创建 PDF 出于法律原因 我们需要将免责声明的一部分设为粗体 并且需要概述免责声明 我当前的代码使用 if isset POST optout POST optout yes pdf gt Ln 5 pdf gt S
  • 如何从字符串中只获取数字? [复制]

    这个问题在这里已经有答案了 我有这样的字符串 第 001 课 完成 在这种情况下 我只想获取数字部分001 我试过这个 str the title preg match all d str matches number implode ma
  • 如何将 ctype_alpha 与 UTF-8 结合使用

    如何将 ctype alpha 与 UTF 8 一起使用 我有这个代码 if empty POST false if isset POST first name empty POST first name if ctype alpha PO
  • PHP 中的正则表达式:找到第一个匹配的字符串

    我想在非常长的文本中找到第一个匹配的字符串 我知道我可以使用 preg grep 并获取返回数组的第一个元素 但是 如果我只需要第一场比赛 或者我知道提前只有一场比赛 那么这样做效率不高 有什么建议吗 预匹配 http www php ne
  • 如何让MySQL数据库完全在内存中运行?

    我注意到我的数据库服务器支持内存数据库引擎 我想让一个已经运行 InnoDB 的数据库完全在内存中运行以提高性能 我怎么做 我探索了 PHPMyAdmin 但找不到 更改引擎 功能 假设您了解注释中提到的使用 MEMORY 引擎的后果 并且
  • .NET 4.0 迁移后引用 .NET 1.0 程序集的 System.TypeLoadException

    有一个项目从 NET 3 5 迁移到 NET 4 0 该项目有一些对 NET 1 0 程序集的引用 这些程序集是 COM 对象的包装器 这些 NET 1 0 程序集和 COM 对象是外部公司的产品 该项目可以编译 但在运行时 当软件引用这些
  • 如何在javascript中使用自动递增id?

  • jQuery和PHP中如何知道返回数据是Json还是String?

    我想在客户端 jQuery 检查 PHP 函数返回的数据是否是 Json 对象或 String 来分配不同的函数 如果 json 的格式不正确 jQuery 的 parseJson 将生成异常 您可以将调用包装在 try catch 块中
  • 从提交的表单中转义字符串中的字符

    每次发布帖子时 我都会得到转义字符 gt gt gt 我有一个多步骤表单 它将数据从一种表单传输到另一种表单 我将这些值与准备好的语句一起保存在数据库中 数据库中的值当前看起来像Paul s House 用户应该可以在字符串中使用单引号和双
  • CSV 从 UTF8 到 ISO-8859-1

    我正在尝试修改我的 CSV 导出 但它不会将我的 CSV 从 UTF 8 转换 保存为 ISO 8859 1 请问我做错了什么吗 实际上自从修改了这个之后 我得到了一个空的 CSV 文件 php 7 0 x function my Gene
  • 无效的 PDO 查询不会返回错误

    下面的第二条 SQL 语句在 phpMyAdmin 中返回错误 SET num 2000040 INSERT INTO artikel artikel nr lieferant nr bezeichnung 1 bezeichnung 1
  • 如何在 joomla 模块中通过 javascript 发送输入文件类型

    我想将带有 javascript 的文件发送到 php 文件 我的 php 文件中有这个表单
  • 解析 PHP 响应:未捕获的语法错误:意外的标记 <

    我正在使用 AJAX 来调用 PHP 脚本 我唯一需要从响应中解析的是脚本生成的随机 ID 问题是 PHP 脚本会引发许多错误 这些错误实际上很好 不会妨碍程序功能 唯一的问题是当我跑步时 parseJSON response I get
  • 需要使用 php 从远程服务器下载与 $_FILES 相同的内容[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 好的 我有处理图像上传的 php 代
  • 无需下载整个文件即可读取 ID3 标签

    是否可以读取 MP3 文件的 ID3 标签 持续时间 艺术家 标题 而无需下载整个文件 我做了一些测试 只需下载 MP3 文件的几个字节就可以获得艺术家和标题标签 但我不确定持续时间和其他标签是否可能 Thanks 我刚刚发现 ffmpeg
  • php,in_array,0值

    我试图理解in array下一个场景的行为 arr array 2 gt Bye 52 77 3 gt Hey var dump in array 0 arr 返回值in array 是布尔值true 正如你所看到的no值等于0 所以有人可
  • php向多个收件人发送邮件

    我可以通过在邮件程序中定义 id 来将电子邮件发送到一个电子邮件 id 但是当用户在表单中键入 消息和电子邮件 id 时 我无法理解如何发送到多个收件人 例如 我正在显示一个带有两个文本区域的表单 一个用于电子邮件 ID 一个用于自定义消息
  • sqlsrv_num_rows 不返回任何值

    我正在尝试获取查询中返回的行数 while 循环遍历结果有效 但由于某种原因 sqlsrv num rows 不返回任何值 result SELECT from dtable WHERE id2 apple query sqlsrv que
  • PHP 中的 Zip 流

    我有一个 PHP 脚本 可以动态创建 zip 文件并强制浏览器下载该 zip 文件 问题是 我可以直接将zip文件写入连接到用户浏览器的输出流 而不是先将其保存为服务器上的真实文件 然后发送文件吗 提前致谢 如果您的 Web 服务器运行的是

随机推荐

  • Jquery在页面加载后生效

    我正在使用jquery ui 但该页面需要很长时间才能加载 我还对 UL 标签的 LI 元素使用制表符功能 但一瞬间列表按原样显示 然后选项卡效果发生 我已经编写了用于在同一 html 文件中调用选项卡的 javascript 我如何减少加
  • 使用 soundpool 播放声音示例

    我想学习如何使用soundpool方法 我想让你向我展示一个运行 2 个声音的非常简单的示例 创建一个名为的文件夹raw under your app res 然后将您的铃声粘贴到此文件夹中 例如your app res raw ringt
  • 在两个可能的分隔符之一之前查找一个单词

    word 12335 anotherword 2323434 totallydifferentword 455 word 32 我需要抓取之前的字符串 or 仅使用基本 R 函数 我可以使用以下方法来做到这一点stringr但不想向我的包添
  • 如何在.net core项目中设置soapclient的超时

    我必须在 Net Core 2 0 项目中使用 SOAP 服务 我添加了服务参考 如以下链接所述 缺少链接 404 对于某些方法 服务运行良好 但是 某些方法需要很长时间 由于操作服务正在执行 在这种情况下程序会抛出异常 System Ne
  • 如何从我自己的网站更新 Facebook 状态?

    我有自己的网站 正在创建博客 新闻条目 但我希望在添加它们时将它们直接上传到我的 Facebook 页面 有没有一种简单的方法可以做到这一点 我的代码是这样的 是否有代码或 API 我可以用来更新我的 Facebook 页面 您需要注册成为
  • 带有post请求和参数作为Json对象android的HttpUrlConnection

    您好 我正在开发小型 Android 应用程序 我想在其中使用 HttpUrlConnection post 请求 并将 params 作为 json 对象 但它对我不起作用我是通过以下方式做到的 try URL url DataOutpu
  • 服务器端包含在expressjs中

    是否可以使用express js 生成服务器端包含 我正在尝试在不同页面上重用页眉和页脚标记 以便我可以在一处进行页眉 页脚更改 尝试使用部分 您必须在一些模板引擎之间进行选择 默认模板引擎是jade 因此为此您必须执行以下操作 创建一个文
  • 在.net 4.5项目中使用.net 2.0 dll(vshost在调试时崩溃)

    我正在尝试使用通过 dotnetbuilder 从 matlab 创建的 dll 文件 http www mathworks se help dotnetbuilder ug create a net component from matl
  • 在 OpenCV 中匹配相似图像

    我有两组图像 H 和 L H 由 512x512 图像组成 L 包含 H 中的所有图像 但缩小到 32x32 128x128 并带有有损压缩产生的压缩伪影 使用 OpenCV 将 H 中的图像与 L 中最接近的图像进行匹配的最佳方法是什么
  • 扑克牌翻转动画

    您知道有哪些免费组件 库可以实现 3D 翻转效果吗 演示在这里 斯诺克电视 这是一个尝试使用SetWorldTransform type TForm1 class TForm PaintBox1 TPaintBox Button1 TBut
  • 使所有按钮大小相同

    请看下面的代码 import javax swing import java awt event import java awt public class GUI extends JFrame private JButton open pr
  • 为什么整个系统事件溯源是反模式?

    我目前正在设计一个新的企业系统 该系统的目的是跟踪 显示客户与公司的互动 即事件 并通知员工 使用事件源模式来保存所收集的所有客户交互 事件的分类帐似乎非常合适 因为我们所有其他域对象都源自事件流 然而 我看到一篇文章说基于事件源的整个系统
  • 不想在 jqGrid 页面加载后第一次显示排序图标

    我正在使用 jqGrid 并通过 JSON 加载数据 当我第一次获取数据时 我使用自定义方法对其进行排序并将该数据传递到网格 但它总是在第一列上显示排序图标 我不想显示该图标 因为自定义方法使用多个计算对数据进行排序 但是当排序图标出现在第
  • 如何使用 linq 对列表及其子项及其子项进行排序?

    我有一个亲子关系 类似于 public class MyType public IList
  • 未捕获的错误:元素类型无效:需要一个字符串(对于内置组件)

    I am getting this error I have defined all components in index js and I am using react dom 网络打包机本身正在编译 没有错误或警告 错误 未捕获错误
  • 使用@PropertySource配置Spring属性

    在下面的 Spring 配置类中 我通过 PropertySource 加载 app properties 文件 并使用属性文件中的配置构造 2 个不同的 DBCP 数据源 尽管一切正常 但我不喜欢使用注释为每个配置属性声明一个变量以构造数
  • 获取具有明确标准的最新文档

    情况 我无法找到执行特定 MongoDb 查询的好方法 首先 这是我想要执行的查询类型 假设有一个简单的数据库 通过电子刷卡记录进入和退出事件 以及可能的其他操作 并不重要 所以有一个集合叫做swipelog简单的文档如下所示 id Obj
  • 即使驱动器存在,也无法检索用户的 mysite URL

    当使用 PHP 库查询给定驱动器的图表时 我收到400 Unable to retrieve user s mysite URL or 429 Too many requests 例如 当我打电话时https graph microsoft
  • SQL WHERE 子句中的聚合函数

    大学考试时有一道题 是否可以使用聚合函数SQL WHERE条款 我一直认为这是不可能的 而且我也找不到任何例子如何做到这一点 但我的答案被标记为错误 现在我想知道在哪些情况下可以在WHERE 另外 如果不可能的话 最好能获得描述它的规范的链
  • PDO - 将字段名称作为变量传递

    我只是将代码从 mysql query 样式命令迁移到 PDO 样式 但遇到了问题 旧代码如下所示 query list menu SELECT GET section name from myl menu hide show WHERE