当前位置: 首页 > 面试题库 >

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

别烨熠
2023-03-14
问题内容

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

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

但是,由于某种原因,MySQL不喜欢我在命令中使用$ _POST变量,并且仅当我定义(例如)$user = $_POST['user'];然后将$
user直接放在SQL命令中时,MySQL才起作用。

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

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

如果我尝试在INSERT语句中定义了属性(例如user='foo'),则会出现相同的问题。

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

希望这不是“运气不好,看起来您必须分配所有过帐的值”。嘿。


问题答案:

现在,要回答您的问题,请尝试执行以下操作:

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

您做错了几件事:

  • 使用=运算符而不是LIKE运算符
  • 不将值包含在SQL查询中 '
  • 不将用户索引包含在$_POST数组'

PS:您应该使用mysql_real_escape_string()而不是mysql_escape_string()



 类似资料:
  • 问题内容: 所以,这是表格- 在这里,表格只会映射其他两个表格。 我想要显示数据的方式是- 在这里,“厨房”,“洗手间”,“屋顶”,“花园”列的值是发生的事件总数。“百分比”列将显示总计数的百分比。 如何在Oracle SQL中做到这一点? 问题答案: 您需要使用标准的 PIVOT 查询。 根据您的 Oracle数据库版本 ,您可以通过以下两种方式进行操作: 将 PIVOT 用于 11g 及更高

  • 问题内容: 为什么不应该使用函数的技术原因是什么?(例如,或)? 为什么我要使用其他东西,即使它们在我的网站上工作? 如果它们在我的网站上不起作用,为什么我会收到类似的错误 警告:mysql_connect():没有那个文件或目录 问题答案: MySQL 扩展: 未在积极开发中 被正式弃用的PHP 5.5(发布2013年6月)。 自 PHP 7.0起 已完全删除 (2015 年 12 月发布) 这

  • 问题内容: 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。 为什么不应该使用功能的技术原因是什么?(例如,或)? 即使我的网站上可以工作,我为什么还要使用其他东西? 如果它们在我的网站上不起作用,为什么会出现类似 警告:mysql_connect():没有这样的文件或目录 问题答案: MySQL扩展: 没有积极发展 被 正式 弃用

  • 问题内容: 我是Firebase的新手。我正在使用admin sdk(java code)将数据存储在firebase数据库中。我已经成功完成了这一部分。现在我想在创建数据库条目和通知时写火基础云函数 由于我在Internet上搜索了更多内容,因此仅找到了node.js代码。 https://firebase.google.com/docs/functions/开始 是否可以使用admin SDK

  • 本文向大家介绍如何在Python中编写递归函数?,包括了如何在Python中编写递归函数?的使用技巧和注意事项,需要的朋友参考一下 一个递归 函数是它的执行过程中调用自身的函数。这使函数可以重复多次,输出结果和每次迭代的结束。递归与无限有关。  下面是一个递归函数示例,用于查找整数的阶乘。 数字的阶乘 是从1到该数字的所有整数的乘积。  例如,阶乘9(表示为9!)为1 * 2 * 3 * 4 *

  • 我知道如何通过将两个函数作为输入并输出其合成函数来合成两个函数,但如何返回合成函数f(f(…f(x))?谢谢