我在做数据库的时候遇到了一个问题,因为有的变量有引号导致无法上传到数据库,以下为问题及解决办法
1. 这是我要传入数据库的内容
1249548,白玫瑰,143,陈奕迅,51144,What's Going On…?,1
可以看到第六个变量存在一个单引号
2.这是传入数据库的语句
$s="insert into list(name,id,islike,image_id,lyr,tag,singer,album) values ('$songname','$songid','$islike','$image_id','$lyr','$tag','$singer','$album')";
$result=mysql_query($s);
语句中也存在单引号,导致单引号匹配不当的问题,这条语句当然无法顺利执行
3. 解决办法
将数据的引号使用转义字符
我的数据已经存在$res里面了,具体实现使用php函数str_replace()
$res=str_replace('\'','\\\'',$res);
$res=str_replace('"','\"',$res);