任何人都知道如何插入" /"字符转换成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')
答案 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语句