如何在mysql中插入“/”

时间:2014-05-03 09:00:16

标签: mysql insert-into

任何人都知道如何插入" /"字符转换成mysql中的字符串。我有一个255空间的varchar字段。但是当我插入一个包含" 1403/04"的字符串时。这是一个错误。

编辑:这是我的sql语句,我使用navicat来管理

INSERT INTO po values(1022,162,10221000339997,'05394906',
  '1403/04 BS BTM102-96 CORE S/SLV PTD TEE',,'',60.00,10.5,25,
  '2014-03-10','2014-03-03')

3 个答案:

答案 0 :(得分:1)

这是您在评论中提供的插入声明:

INSERT INTO po values(1022,162,10221000339997,'05394906','1403/04 BS BTM102-96 CORE S/SLV PTD TEE',,'',60.00,10.5,25,'2014-03-10','2014-03-03')

错误信息:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''',60.00,10.5,25,'2014-03-10','2014-03-03')' at line 1

问题不是带斜杠的字符串。问题是字符串之后的双逗号。请删除逗号,在两个逗号之间放置一些逗号,或者更改INSERT以明确列出要插入的列(无论如何,为了清晰起见并减少潜在的错误,您应该这样做)并排除那个对应于两个逗号之间的位置。

答案 1 :(得分:0)

尝试mysql_real_escape_string()

$input="1403/04";

INSERT INTO TABLE (table) VALUES ($input)

注意:从不推荐使用Mysql PHP 5.5所以改为使用mysqli。

我正在使用手机,所以我会要求有人格式化我的答案

答案 2 :(得分:-1)

表创建表


CREATE TABLE `posts` (                                   
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,         
      `title` varchar(50) DEFAULT NULL,                      
      `body` text,                                           
      `created` datetime DEFAULT NULL,                       
      `modified` datetime DEFAULT NULL,                      
      PRIMARY KEY (`id`)                                     
    ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1  

现在插入查询将起作用。

INSERT INTO posts (title, body) VALUES ("special", "366/88");
                             OR
INSERT INTO posts (title, body) VALUES ('special', '366/88');

两者都有效。 .................................................. .................................................. .................................................. .............. 如果您使用的是PHP 使用mysql_real_escape_string();

会更好

mysql_real_escape_string - 转义字符串中的特殊字符以用于SQL语句

You should look here