使用php在varchar字段中使用斜杠插入查询

Wei*_*inz 0 php mysql sql string

我在php变量中有这个查询:

insert into `activadosmil` set cod='TAB08-150', stock='5', precio='111.23', categoria='Articulos destacados', subcategoria='PROMOS', descripcion='YARVIK JUNIOR 8" A9 1GB 8GB KIDO'Z ANDRO', ean='8717534019003', canon='111.23', fabricante='YARVIK'
Run Code Online (Sandbox Code Playgroud)

并且它在描述='YARVIK JUNIOR 8"A9 1GB 8GB KIDO'Z ANDRO'

我尝试使用htmlspecialchars($ descripcion)

但是不起作用.

我怎样才能替换'在php中为我需要用于mysql的代码?

提前致谢

Gx.*_*ero 6

使用反斜杠转义字符.

insert into `activadosmil` set cod='TAB08-150', stock='5', precio='111.23', categoria='Articulos destacados', subcategoria='PROMOS', descripcion='YARVIK JUNIOR 8\" A9 1GB 8GB KIDO\'Z ANDRO', ean='8717534019003', canon='111.23', fabricante='YARVIK'
Run Code Online (Sandbox Code Playgroud)

  • 这只能手动工作,并且是解决问题的一种不好的方法.您应该使用mysql_real_escape_string($ string)或mysqli_real_escape_string($ string)之类的东西让它自动转义所有实例. (2认同)
  • 是啊.此外,他应该考虑使用**Prepared Statements**与MySQLi或PDO扩展. (2认同)