0

我想在 mysql 数据库中存储一些值,例如“st paul's school” 。但是由于特殊符号 ' 我无法在 mysql 中存储这些值。我尝试了 varchar 数据类型,但它不起作用。请建议一种合适的方法或数据类型将'存储在 mysql 中。

4

5 回答 5

4

添加两个像这样的单引号 '' 或像这样转义它 \'

于 2013-02-05T12:44:07.080 回答
1

如果您直接在 MySQL 服务器上执行此操作,请将单引号加倍,它将起作用。例子

INSERT INTO tableName VALUES ('St. Paul''s School')

但在前端,为此使用PreparedStatements

如果你正在使用PHP,使用PDOMySQLI扩展就可以避免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("\'","&acute;",$str);
    $str = str_replace("\"","&quot;",$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 回答