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

使用mysql_real_escape_string()或切换到PDOPDO::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 回答