【问题标题】:insert "\" symbol in mysql database?在mysql数据库中插入“\”符号?
【发布时间】:2018-12-03 04:14:41
【问题描述】:
INSERT INTO `abc`(`info`) VALUES ('\');

mysql 数据库中是否可以插入“\”符号?我尝试将排序规则类型更改为 UTF-8 General_ci 但不起作用,还有其他想法

【问题讨论】:

  • 在 PHP 中使用准备好的语句,这些函数应该自动转义 qoutes 和反斜杠字符以及其他也需要转义的字符。它还可以保护您免受 SQL 注入。

标签: php mysql database insert


【解决方案1】:

使用这个

INSERT INTO `abc`(`info`) VALUES ('\\');

【讨论】:

  • 获取错误:您的 SQL 查询中似乎有错误。下面的 MySQL 服务器错误输出(如果有)也可以帮助您诊断问题。 ERROR: Unclosed quote @ 31 STR: ' SQL: INSERT INTO abc(info) VALUES ('\');
  • 你使用双*\\*吗??
  • 看我的答案有双\\。使用它而不是单个 \?
  • @GhoriTrilochan 验证了这个答案 here 它的工作
  • @MKhalidJunaid 您的链接非常有用。谢谢
【解决方案2】:

某位小伙伴:

  1. 使用“str_replace”函数替换字符串
  2. 触发插入查询...

<?php 
.... 
$abc = $_POST['info'];;

$aa = str_replace("\\",'\\\\',$abc);

$insert = "INSERT INTO `abc`(`info`) VALUES ('$aa')";
?>

【讨论】:

  • $abc = 'lojjj\uj'; $aa = str_replace("\\",'\\\\',$abc); 这是一样的 *$abc = 'lojjj\\uj' 为什么 str_replace @GhoriTrilochan??
  • 这个值由用户插入,所以我是第一个存储变量而不是所有“\”位置替换为“\\”
  • 我知道你的分享链接,所以谢谢分享链接.. :)
  • 在 PHP 中使用准备好的语句,这些函数应该自动转义 qoutes 和反斜杠字符以及其他也需要转义的字符。它还可以保护您免受 SQL 注入。
猜你喜欢
  • 2020-10-24
  • 2013-02-21
  • 1970-01-01
  • 1970-01-01
  • 2013-07-10
  • 1970-01-01
  • 2016-07-16
  • 2013-12-01
  • 1970-01-01
相关资源
最近更新 更多