我应该如何在 mysql_query 函数中编写 PHP $_POST 变量?

2024-04-13

在访问我的数据库时,我让用户填写一个表单,然后在目标页面中,发布的值将用于生成的 MySQL 查询中。

$query = mysql_query("SELECT pass FROM database WHERE user='$_POST[user]'");

然而,由于某种原因,MySQL 不喜欢我在命令中使用 $_POST 变量,并且只有在我定义时它才有效(例如)$user = $_POST['user'];,然后直接将$user放入SQL命令中。

另一方面,我可以在不需要特定列名的 INSERT 语句中使用 $_POST 值:

$query = mysql_query("INSERT INTO database VALUES ('foo', 'bar', '$_POST[user]'");

如果我尝试使用定义了属性的 INSERT 语句(例如user='foo'),那么就会出现同样的问题。

我在 SQL 查询中做错了什么,导致命令在运行时出错,但可以使用格式化 INSERT 命令的特定方法?

希望这不是“运气不好,看起来你必须分配所有发布的值”。呵呵。


首先,留意 SQL 注入 https://stackoverflow.com/questions/332365/xkcd-sql-injection-please-explain!

现在,要回答您的问题,请尝试这样做:

$query = mysql_query("SELECT `pass` FROM `database` WHERE `user` LIKE '" . mysql_escape_string($_POST['user']) . "';");

你做错了几件事:

  • 使用=运算符而不是LIKE操作员
  • 未将 SQL 查询中的值括起来'
  • 不将用户索引包含在$_POST数组与'

PS:你应该使用mysql_real_escape_string() http://php.net/manual/en/function.mysql-real-escape-string.php代替mysql_escape_string() http://php.net/manual/en/function.mysql-escape-string.php!

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

我应该如何在 mysql_query 函数中编写 PHP $_POST 变量? 的相关文章

随机推荐

  • 如何获取 asp.net c# 的发布数据[重复]

    这个问题在这里已经有答案了
  • WiX 在构建服务器上失败

    我有一个使用 WiX 的项目 它在我的本地计算机上运行良好 但是当我发布到构建服务器时 构建会因以下内容而崩溃 来自 MSBuild 日志 Using HeatDirectory task from assembly C Program F
  • 为什么标准没有提供擦除删除惯用语的便利帮助程序?

    从 STL 中的集合中删除项目需要一种经常使用的技术 该技术已成为一种习惯用法 擦除 删除 惯用语 https en wikipedia org wiki Erase E2 80 93remove idiom 这个习语最常见的用法之一是删除
  • 如何找出当前页面上的光标位置?

    我向页面添加了一堆内容 例如document add p 然后我使用文档添加一个填充两列的表格here http itextpdf com examples iia php id 91 在这个过程中 我使用 column setSimple
  • retrbinary 期间线程化“NOOP”命令

    我编写了一个 FTP 脚本 遗憾的是该脚本必须处理位于防火墙后面的服务器 ISP 也会很早就切断我的控制连接 无论我在防火墙的任一侧设置什么样的超时设置 我最终做出了两个选择 1 在 retrbinary 命令中分叉代码 以便下载完成时每
  • Python 中的标量场可视化

    我需要在 Python 中可视化几个重叠的标量场 我发现mayavi图书馆做这种情节 问题是我不明白如何为标量字段自定义颜色图 我的想法是为每个字段设置一种颜色的阴影 我尝试采用一个例子 http docs enthought com ma
  • 比较列表推导式和显式循环(3 个数组生成器比 1 个 for 循环快)

    我做了作业 无意中发现算法的速度出现了奇怪的不一致 这是相同函数的代码的 2 个版本 但有 1 个区别 在第一个版本中 我使用 3 次数组生成器来过滤某些数组 在第二个版本中 我使用 1 个 for 循环和 3 个 if 语句来执行相同的过
  • 如何在 scipy 层次聚类中获取非单例簇 ID

    根据this http docs scipy org doc scipy reference generated scipy cluster hierarchy dendrogram html scipy cluster hierarchy
  • 如何使用 Laravel 上传视频

    我正在尝试在使用 Laravel 时上传视频 虽然当我更改控制器线路时上传图像对我来说效果很好 echo file file gt getClientOriginalName gt to echo
  • 如何从 JQuery 调用控制器方法?

    我有用于 asp net 非 Mvc 的 ajax 代码来调用 webMethod 以从服务器获取请求的附加数据 但我似乎无法找出在 MVC 中提供 JQuery 的 url
  • join()在线程中有什么用?

    我正在研究 python 线程并遇到join http docs python org 2 library threading html threading Thread join 作者告诉我 如果线程处于守护进程模式 那么我需要使用joi
  • 跟随画布光标的放大镜

    我正在为我的客户设计 T 恤 我使用 html5 canvas 制作了它 衬衫设计师现在已经完成了 但他要求我添加一个放大镜 如下所示 http mlens musings it http mlens musings it 我发现了很多类似
  • 如何在打包并部署为 WAR 的 Springboot 应用程序中启用异步支持

    当我的 SpringBoot 应用程序从可执行 JAR 运行时 下面显示的 REST 端点按预期工作 也就是说 它将文本 我的测试响应 返回给客户端 但是 当我将相同的应用程序打包为 WAR 并部署到 Tomcat 8 0 29 时 它会抛
  • 找不到模块“styled-components/native”的声明文件

    如果你添加styled components对于您的 React Native 项目 有一个专门用于本机组件的子目录 import styled from styled components native export const Cont
  • Coffee HAML 中的部分内容 (.hamlc)

    我在 Rails 后端使用backbone js哈姆咖啡 https github com netzpirat haml coffee 它是由haml 咖啡 资产 https github com netzpirat haml coffee
  • Java Map Value Comparator,插入时排序

    我想使用值比较器将项目插入 HashMap TreeMap 或 SortedMap 您可能会建议一些其他 api 我读过很多帖子 包括这个one https stackoverflow com questions 109383 how to
  • ASP.NET MVC 将 JSON 从控制器传递到视图

    想知道从 API JSON 格式 提取数据的最佳方法是什么 我的控制器中有代码 它调用返回数据的 API 我想将数据获取到我的视图中 以便我可以将其显示在页面上 我已经看到使用 jQuery AJAX 的记录最多的方法 但我真的不希望 AP
  • 如果使用 jQuery UI 拖动,外部旋转 div 内的内部 div 不会跟随鼠标

    我在外部 div 内有一个内部 div 内部div可拖动 外部div可旋转40度 这是一个测试用例 在实际情况下 它可以是任何角度 还有另一个名为 point 的 div 其位置如图所示 我来自 flash 背景 在 Flash 中 如果我
  • C# 通过引用传递值类型数组的元素

    我想通过引用传递数组的元素 数组包含值类型元素 而不是引用类型 这可能吗 谢谢 是的 这绝对是可能的 与通过引用传递任何其他变量的方式完全相同 using System class Test static void Main string
  • 我应该如何在 mysql_query 函数中编写 PHP $_POST 变量?

    在访问我的数据库时 我让用户填写一个表单 然后在目标页面中 发布的值将用于生成的 MySQL 查询中 query mysql query SELECT pass FROM database WHERE user POST user 然而 由