[英]Data does not get inserted in some special cases?
這是我正在使用的代碼
if (!empty($_REQUEST['content'])&&!empty($_REQUEST['title'])&&!empty($_REQUEST['writer'])) {
$title = $_POST['title'];
$content = $_POST['content'];
$writer = $_POST['writer'];
require_once 'htmlpurifier/library/HTMLPurifier.auto.php';
$purifier = new HTMLPurifier();
$pure_content = $purifier->purify($content);
$entity_content = htmlentities($pure_content);
$entity_content = mysql_real_escape_string($entity_content);
mysql_query("INSERT INTO stories (TITLE, WRITER, CONTENT, UPVOTE, DOWNVOTE) VALUES ('$title', '$writer', '$content', 0, 0)");
現在,經過一些測試后,我發現只要在某個地方輸入撇號,就不會在表中插入值。 我該如何預防? 還有其他可能導致此問題的特殊字符。 這是我正在從事的工作:http: //8mags.com/bored/people/
編輯
我已經更新了這兩行代碼
$add_content = "INSERT INTO stories (TITLE, WRITER, CONTENT, UPVOTE, DOWNVOTE) VALUES ('$title', '$writer', '$content', 0, 0)";
$result = mysqli_query($mysqli, $add_content) or die(mysqli_error($mysqli));
還有什么我需要更改的嗎?
第二次更新
我也更改了此代碼
$con = mysqli_connect($db_hostname,$db_username,$db_password);
if (!$con)
{
die('Could not connect: ' . mysqli_error());
}
mysqli_select_db($db_database, $con);
還有別的事嗎? 感謝您的幫助。
您只需要在插入時放置它即可。
$title = addslashes($_POST['title']);
$content = addslashes($_POST['content']);
$writer = addslashes($_POST['writer']);
並在演出時(列出)
stripslashes($VariableName)
希望這對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.