数字插入数据库但不插入字符或数字/字符

时间:2014-03-01 21:54:07

标签: javascript php mysql ajax

所以我在页面上有一个输入,我将输入的值传递给ajax POST请求。我已将所有内容记录在我的javascript文件中,并且所有内容都符合预期。

在我的php文件中,我将其设置为$ message = $ _POST [“message”];并且像这条消息一样插入我的表格,并将VALUES设置为$ message。

在我的成功回调中$ result = mysql_query($ sql);我正在使用$ message传递一个数组。然后我将它记录在我的ajax成功回调中,当我发送数字时它会正确记录,但是当我发送字符或字符和数字组合时$ result失败。

听起来这个列设置为INT,但事实并非如此。我尝试过VCHAR,TEXT,LONGTEXT。我甚至删除了专栏并制作了一个新专栏。这是我如何使用它varchar(120)utf8_bin否无。 我甚至试图在php中强制转换为字符串。

有什么想法吗?我喜欢侦探工作,试图弄清楚自己,但我很难过。

感谢您的帮助。

更多信息: 这就是我消毒$ message的方式。

$ message = $ _POST [“message”];

$ message = strip_tags($ message);

$ message = htmlspecialchars(mysql_real_escape_string($ message));

1 个答案:

答案 0 :(得分:0)

那是错的。

mysql_query("insert into `tablename` (`message`) values "
            ."('".mysql_real_escape_string($_POST['message'])."')");

你需要的一切。 strip_tagshtmlspecialchars 适合插入数据库。注意字符串需要引号的事实!