php - mysql 和 php 命令有时无法发布。难道是我 body 的原因?

标签 php mysql html post

所以,我有以下 PHP 命令要发布到我的数据库。

$sql = "INSERT INTO `db`.`tab;e` (`id`, `type`, `subtype`, `image1`, `image2`, `image3`, `title`, `body`, `price`, `googlecode`, `date`) VALUES (NULL, '$type', '$subType', '$image1', '$image2', '$image3', '$title', `$body`, '$price', '$googleCode', '$date');";

数据正在通过帖子获取。例如,类型是

$type = $_POST[type];

等等..

但是,在发布内容时,我的代码有时有效,有时无效。

我认为这是因为我使用 niceEdit抓取正文并在发布时,我担心 ' 和 "会干扰我的帖子......

此外,$googlecode 是一堆带有引号和其他内容的 div。

这可能就是我的代码断断续续工作的原因吗?

最佳答案

我猜它有时会失败,因为您没有转义值而是直接将它们添加到查询中。这样,某些值可能会破坏 SQL 语句,并且该语句容易受到 SQL 注入(inject)攻击。

要解决此问题,您必须 escape the values或者更好的是,使用 prepared statements 。还强烈建议添加一些错误处理,以便您可以更轻松地获得有意义的完整错误消息(谢谢 Pekka)。

关于php - mysql 和 php 命令有时无法发布。难道是我 body 的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10944289/

相关文章:

html - 为什么证明内容 : right only work in firefox?

php - Swift 2 - 使用 PHP 在数据库中插入设备 token

php - 使用 MYSQL 和 PHP 的通知系统

php - 从 LEFT JOIN 中选择最大的行

php - xamps 上的 MySQL 服务运行,然后在几秒钟后停止

mysql - 我该如何纠正这个问题?

html - 溢出 : scroll; only the y-axis whilst keeping x-axis visible

php - array_key_存在,但以对象作为键

c# - 如何在 Mysql Left Join 中获取计数?

javascript - 删除处理 JQuery 选项,隐藏不?