将字符串添加到查询中的规则简单明了:字符串应该用引号括起来。

因此,这些引号应该在数据中转义,以及一些其他字符,使用

mysql_real_escape_string()

所以,您的代码变成$type     = 'testing';$type     = mysql_real_escape_string($type);$reporter = "John O'Hara";$reporter = mysql_real_escape_string($reporter);$query    = "INSERT INTO contents (type, reporter, description)

VALUES('$type', '$reporter', 'whatever')";mysql_query($query) or trigger_error(mysql_error()." in ".$query);// note that when running mysql_query you have to always check for errors

但是,如果要在查询的另一部分中添加变量,规则就会改变。要添加一个数字,必须显式地将其转换为它的类型。

例如:$limit = intval($_GET['limit']); //casting to int type!$query = "SELECT * FROM table LIMIT $limit";要添加标识符,最好从某种类型的白名单中选择它,由硬编码的值组成

例如:if ($_GET['sortorder'] == 'name') {

$sortorder = 'name';} else {

$sortorder = 'id';}$query = "SELECT * FROM table ORDER BY $sortorder";

使一切简单化但在安全保证的情况下,我们必须使用某种占位符系统变量不是直接而是通过某个代理(称为占位符)进入查询的。

因此,查询调用如下所示:$type     = 'testing';$reporter = "John O'Hara";pquery("INSERT INTO contents (type, reporter, description) VALUES(?s, ?s, ?s)",

$type, $reporter,'whatever');

因此,我们绝对无须担心所有这些问题。

对于有限的占位符集,可以使用PDO..虽然对于实际生活中的使用,您将需要扩展集,它是由少数库提供的,其中之一是SafeMysql.

mysql insert into 变量+1_如何在MySQL INSERT语句中包含PHP变量相关推荐

  1. 如何在sh的字符串中包含换行符?

    本文翻译自:How can I have a newline in a string in sh? This 这个 STR="Hello\nWorld" echo $STR pro ...

  2. mysql alert on delete cascade_如何在mysql中删除级联使用?(How do I use on delete cascade in mysql?)...

    如何在mysql中删除级联使用?(How do I use on delete cascade in mysql?) 我有一个组件数据库. 每个组件都是特定的类型. 这意味着组件和类型之间存在多对一的 ...

  3. function在mysql里总是出错_如何在MySQL函数中引发错误

    如何在MySQL函数中引发错误 我创建了一个MySQL函数,如果传递给参数的值无效,则想引发一个错误. 在MySQL函数中引发错误我有哪些选择? 6个解决方案 69 votes MySQL 5.5引入 ...

  4. mysql怎么插入时间_如何在MySQL中插入日期?

    在MySQL中插入日期的方法:首先打开脚本文件:然后通过[INSERT INTO tablename (col_name, col_date) VALUE ('DATE: Auto CURDATE() ...

  5. mysql 记录 行号_如何在MySQL查询结果集中得到记录行号

    如果需要在查询语句返回的列中包含一列表示该条记录在整个结果集中的行号, ISO SQL:2003 标准提出的方法是提供 ROW_NUMBER() / RANK() 函数. Oracle 中可以使用标准 ...

  6. mysql数据库存歌_如何在mysql中存储音乐和图片文件

    标签: 如何在mysql中存储音乐和图片文件? 果你想把二进制的数据,比如说图片文件和HTML文件,直接保存在你的MySQL数据库,那么这篇文章就是为你而写的! 我将告诉你怎样通过HTML表单来储存这 ...

  7. MySQL怎么展示表格_如何在MySQL数据库中显示表的架构?

    从MySQL控制台,什么命令显示任何给定表的架构? #1楼 SHOW CREATE TABLE yourTable; 要么 SHOW COLUMNS FROM yourTable; #2楼 descr ...

  8. mysql服务器默认操作字符集,如何在mysql中找到默认服务器字符集?

    Using MySQL on FreeBSD 8.2. How do I find out the default server character set? Is there some comman ...

  9. gatsby_什么是环境变量?如何在Gatsby和Netlify中使用它们?

    gatsby When starting to integrate 3rd party services into your application or website, you'll start ...

最新文章

  1. 《http权威指南》读书笔记 二
  2. ubuntu下安装codeTyphon
  3. Linux下安装zookeeper集群(奇数个)
  4. ASP.NET取用户浏览器IP地址等信息
  5. C++中内存分配方式、空指针及野指针的区别
  6. VMware 下安装centos7,无法进入图形化界面
  7. 三菱伺服驱动器示例_三菱伺服电机+编码器(伺服控制器)的接线示例
  8. JAVA通过Jemter工具并发测试
  9. pdf文件过大怎样压缩?pdf文件如何压缩到指定大小?
  10. 可视化数据库监控警报工具 —— Sampler
  11. 戴着人工心脏上脱口秀大会——王十七的充电人生
  12. python下载博文中微博图床图片
  13. c语言计算机那类教,C语言教学中的兴趣驱动
  14. 快速刷通PWN的第一天
  15. 2019测试工程师面试题
  16. 第一节:(1)逻辑电路工艺节点简述
  17. Win10 用户管理中无法删除唯一的administrators组用户
  18. 用C语言复现用贪吃蛇游戏(二)完结
  19. EventBus3 简单使用及注意点
  20. 2019海南大学计算机研究生分数线,2021海南大学研究生分数线一览表(含2019-2020历年复试)...

热门文章

  1. sonar的次要问题_次要GC,主要GC与完整GC
  2. intellij_使用IntelliJ ..已经2周了,到目前为止还算不错
  3. 浙江高校计算机等级考试二级办公,浙江省高校计算机等级考试二级(高级办公)试题12.ppt...
  4. mysql 删除重复索引_如何检查mysql的重复索引
  5. ios framework 查看symbol_iOS开发高级分享 - App间账号共享与SDK封装
  6. 微服务已过时!DDD领域建模与架构设计才是未来!
  7. Java 16 正式发布!你还学得动吗?
  8. 实战派:一次kafka卡顿事故排查过程!
  9. 德国艺术家用99部手机成功在Google地图上制造交通阻塞
  10. 轻量级网络主干综述 20种