在没有插入操作的情况下在 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】:保存到数据库时使用php的addslashes()
方法在引号前添加斜杠,从数据库中获取数据并显示给用户时使用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,而不是行/列)? [复制]