「st paul's school」のような値を mysql データベースに保存したいと考えています。ただし、特殊な記号 ' のために、その ような値を mysql に保存できません。varchar データ型を試しましたが、うまくいきません。'を mysqlに格納するための適切な方法またはデータ型を提案してください。
5 に答える
4
この''のように2つの一重引用符を追加するか、このようにエスケープします\ '
于 2013-02-05T12:44:07.080 に答える
1
MySQLサーバーで直接実行している場合は、一重引用符を2倍にすると、機能します。例
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 に答える