php变量存在引号导致语句出错无法执行——解决办法
2017-08-09 21:52
357 查看
我在做数据库的时候遇到了一个问题,因为有的变量有引号导致无法上传到数据库,以下为问题及解决办法
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);
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);
相关文章推荐
- 压测xx业务数据库资源大量等待,存在表锁问题,导致数据库无法正常执行解决办法
- PHP执行SQL语句老是出错,解决办法
- DSP28335代码段(.text段)太长,导致无法对程序在片上SARAM中在线仿真的解决办法 ——在.cmd中修改.text段的分配语句
- crontab中PHP inlucde相对路径导致脚本不执行的解决办法
- 运行VS可执行文件 360提示有菠萝影音插件想要捆绑 导致程序无法正常编译和运行解决办法
- 初始化java环境变量以及编译执行,找不到或无法加载主类解决办法
- jmeter压测发送json报文中存在转义字符并参数化了某些变量导致发送至服务器端报文无法处理的解决
- linux修改了/etc/profile环境变量导致开机无法登陆的解决办法
- 更改window账户的用户文件夹导致excel打开csv提示内存不足、word提示环境变量出错解决办法
- shell 变量未定义或空值导致test语句报错解决办法
- 由于启动用户实例的进程时出错,导致无法生成 SQL Server 的用户实例,该连接将关闭的解决办法
- delete语句与reference约束 FK_subplan_job_id冲突问题,导致job无法删除解决办法
- 切换用户导致环境变量无法生效解决办法
- Win7下由于启动用户实例的进程时出错,导致无法生成 SQL Server 的用户实例。该连接将关闭。 解决办法
- 关于DLL工程中存在全局变量可能导致MFC内存泄露误报的原因分析及解决办法
- PHP json_encode返回的json前端获取时出现unicode转码和反斜杠\导致无法解析的解决办法
- 关于DLL工程中存在全局变量可能导致MFC内存泄露误报的原因分析及解决办法
- Android启动另一个Activity时无法执行语句解决办法之加载延迟
- PHP执行insert语句报错“Data too long for column”解决办法
- Android无法导入下载好的项目(和Eclipse中已经存在的项目命名一样导致冲突)解决办法