我想在 mysql 数据库中存储一些值,例如“st paul's school” 。但是由于特殊符号 ' 我无法在 mysql 中存储这些值。我尝试了 varchar 数据类型,但它不起作用。请建议一种合适的方法或数据类型将'存储在 mysql 中。
问问题
169 次
5 回答
4
添加两个像这样的单引号 '' 或像这样转义它 \'
于 2013-02-05T12:44:07.080 回答
1
如果您直接在 MySQL 服务器上执行此操作,请将单引号加倍,它将起作用。例子
INSERT INTO tableName VALUES ('St. Paul''s School')
但在前端,为此使用PreparedStatements。
如果你正在使用PHP
,使用PDO
或MySQLI
扩展就可以避免SQL Injection
。请看下面的文章,
于 2013-02-05T12:43:52.637 回答
0
如果你有这个撇号使用的变量htmlentities
$your_var = "St. Paul's School";
$your_var = htmlentities($your_var);
INSERT INTO tableName VALUES ('$your_var')
如果你只有字符串,你可以做这样的双引号
INSERT INTO tableName VALUES ("St. Paul's School")
于 2013-02-05T12:46:33.223 回答
0
只需将引号符号替换为其实体即可。如果您使用的是php
<?php
$str = "st paul's school";
$str = str_replace("\'","´",$str);
$str = str_replace("\"",""",$str);
?>
你也可以使用
$str= htmlentities($str,ENT_QUOTES, 'UTF-8');
于 2013-02-05T12:52:05.290 回答
0
您可以使用 mysqli_real_escape_string($text) 来转义您插入数据库的文本中的那些 '。
于 2013-02-05T12:54:49.370 回答