htmlspecialchars无效

时间:2017-01-04 13:23:42

标签: php mysql

我的代码是:

$description = $_POST['description'];
$description = htmlspecialchars($description);

我用它在表格中插入一些描述:

$insertBillIndexQuery = "INSERT INTO $billIndexTableName (type, exp_category, shopping_date, shop, description, total_amount, paid, due, mode_of_payment) VALUES ('Expense', '$exp_category', '$billDate', '$shop', '$description', '$total_amount', '$paid', '$due', '$modeOfPayment')";

这通常很好。但是,当我键入一个特殊字符,如单引号,系统中断,我得到一个错误查询数据库错误。我确定单引号导致问题。我使用htmlspecialchars错了吗?

1 个答案:

答案 0 :(得分:1)

您需要使用ENT_HTML401进行转换,才能将'转换为'。根据{{​​3}}:

  

<强> ' (single quote)
  &#039;(适用于ENT_HTML401)或&apos;(适用于ENT_XML1ENT_XHTMLENT_HTML5),但仅限ENT_QUOTES时设置Add some margin to card <android.support.v7.widget.CardView android:id="@+id/cardView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="7dp" app:cardCornerRadius="2dp" app:cardElevation="4dp"> </android.support.v7.widget.CardView>