在没有插入操作的情况下在 html 文本区域中输入引号和双引号在数据库中失败。可能吗?

Posted

技术标签:

【中文标题】在没有插入操作的情况下在 html 文本区域中输入引号和双引号在数据库中失败。可能吗?【英文标题】:Enter quotes and double quotes in a html textarea without an insertion operation fail in database. Is it possible? 【发布时间】:2017-11-27 19:15:59 【问题描述】:

在我的站点中,我有一个文本区域,其文本被插入到我的数据库中的一个字段中。 我希望能够在数据库中的插入操作不失败的情况下输入引号和引号。可能吗?我该怎么办?

我有这个代码。

HTML

<div class="field">
    <label class="etichetta">Descrizione</label>
    <br>
    <textarea name="descrizione" rows="10" cols="40" maxlength="650"></textarea>
</div>

PHP

.
.
$descrizione = $_POST['descrizione'];

$query = "INSERT INTO couponFuturi (coupon, descrizione, immagine, alt, prezzoOriginale, prezzoScontato, scadenza, sezione)
VALUES ('$coupon', '$descrizione', '$imgUrl', '$imgAlt', '$prezzoOriginale', '$prezzoScontato', '$scadenza', '$sezione')";

$result = mysqli_query($db, $query);

插入操作返回由于存在引号和双引号引起的语法错误。

【问题讨论】:

检查我的答案 Use prepared statements and parameterized queries. 【参考方案1】:

保存到数据库时使用phpaddslashes()方法在引号前添加斜杠,从数据库中获取数据并显示给用户时使用stripslashes()

// at the time of inserting the data in db
$descrizione = addslashes($_POST['descrizione']);

// when you get the data from db to display
$descrizione = stripslashes($descrizione);

【讨论】:

以上是关于在没有插入操作的情况下在 html 文本区域中输入引号和双引号在数据库中失败。可能吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 HTML 文本区域中找到光标位置(X/Y,而不是行/列)? [复制]

如何防止文本区域中的重复空格

创建一个 chrome 扩展,它将页面上突出显示的文本插入到 popup.html 中的文本区域中

在文本区域中获取插入符号 XY 坐标 [重复]

使用Javascript在文本区域中的光标处插入文本

我可以在浏览器的表单/文本区域中更改闪烁的插入符号吗? [复制]