我有通過textarea(同一頁面上的所有代碼)更新MySQL錶行的代碼。更新表單(HTML部分)在PHP if語句中被回顯出來。當用戶點擊'編輯'按鈕時,會彈出一個textrea(使用Javascript)。他們輸入更新並點擊提交,並立即在MySQL數據庫和網站上更新它。下面的代碼:MySQL文本字段行更新時產生不需要的反斜槓
PHP(echo'ed HTML表單)
echo "<span id=\"about_me\">".$row['aboutme']."</span><span style=\"font-size:10px;\"><a id=\"popup\">Edit</a></span></p>
<form style\"display:none;\" method=\"post\">
<textarea rows=\"5\" cols=\"31\" id=\"area\" name=\"about_update\" style=\"display:none\" placeholder=\"Type 140 characters or less and press submit.\"></textarea>
<input style=\"display:none;\" type=\"submit\" id=\"aboutsubmit\" value=\"Submit\" />
</form>";
PHP
if (isset($_POST['about_update'])) {
$about_update = $mysqli->real_escape_string($_POST['about_update']);
$update = "UPDATE tbl_name SET aboutme='$about_update'
WHERE firstname='$firstname' && lastname='$lastname'";
$mysqli->query($update);
}
它正確的所有功能,除了當您使用撇號將它放置在一個\
之前e it。 MySQL中的aboutme
行的類型是TEXT btw。爲什麼textarea生成這個\
?
這與轉義。至少,我想不出另一個原因。 – Digitalis
是的,我也想到了,我假設PHP正在解釋它,我只是不知道如何防止它... – MillerMedia
stripslashes()或stripcslashes()可能會訣竅。閱讀這個http://php.net/manual/en/function.stripslashes.php – Digitalis