1

私は MySQL の初心者で、テーブル内のセルの正しい書式設定に少し問題があります。

私はデータ型をに設定してTEXTいるので、セル内にいくつかの小さな段落用の十分なスペースがありますが、私の問題は、そのセルに挿入するアポストロフィ、引用符、コロン、およびその他の句読点を使用して段落をフォーマットする方法ですコマンドライン (MAC)?

列の値は次のとおりです。

joke TEXT NOT NULL,

このジョークの例をテーブルに挿入したいと思います。

Husband says: "When I'm gone you'll never find another man like me".
Wife replied: "What makes you think I'd want another man like you!"

正確なフォーマットまたは少なくともそれに近いものを表示するように、コマンドラインに書き込むにはどうすればよいですか。コマンド ライン エントリは次のようになります。

INSERT INTO jokes
(date_submitted, source, joke_style, joke)
VALUES
(NOW(), 'www.example.com','Blonde', 'Joke would go here with (: ' ,) and so on.');

でアポストロフィをエスケープします\'か? 残りの句読点をどうするか、改行を保存するにはどうすればよいですか?

4

2 に答える 2

3

PDOを使用mysql_real_escape_string()または切り替えて、プレースホルダーと共に使用します。PDO::prepare()

例:

$sth = $pdo->prepare('INSERT INTO jokes ... VALUES (NOW, :joke, ...)');
$sth->execute(array(':joke' => $joke));

コマンドを手動で記述する必要がある場合は、'としてエスケープする必要\'があり、改行文字は\nです。MySQL での文字列のエスケープ方法の詳細については、文字列リテラルに関するマニュアルのセクションを参照してください。

于 2012-04-27T02:12:29.890 に答える
1

マニュアルからの抜粋です

次の SELECT ステートメントは、引用とエスケープがどのように機能するかを示しています。

mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello';
+-------+---------+-----------+--------+--------+
| hello | "hello" | ""hello"" | hel'lo | 'hello |
+-------+---------+-----------+--------+--------+

mysql> SELECT "hello", "'hello'", "''hello''", "hel""lo", "\"hello";
+-------+---------+-----------+--------+--------+
| hello | 'hello' | ''hello'' | hel"lo | "hello |
+-------+---------+-----------+--------+--------+

mysql> SELECT 'This\nIs\nFour\nLines';
+--------------------+
| This
Is
Four
Lines |
+--------------------+

mysql> SELECT 'disappearing\ backslash';
+------------------------+
| disappearing backslash |
+------------------------+
于 2012-04-27T02:22:05.320 に答える