PHP 網頁編輯無法將單引號(')、雙引號(")、反斜線(\)寫入 MySQL 資料庫
PHP 網頁讀取 MySQL 資料庫至頁面,特定符號單引號(')、雙引號的衝突問題。
紅色字部份
。<?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = '12345678'; $dbname = 'pcgame'; $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error with MySQL connect') ; mysql_query("SET NAMES 'UTF8'"); mysql_select_db($dbname); //依網頁傳來的 GET 表單變數條件,撈取要修改的筆數以秀在網頁修改欄內 $sql = "SELECT * FROM learn_demo WHERE t_id=".$_GET['t_id']; $result = mysql_query($sql) or die('MySQL connect error'); //判斷表單是否按送出而執行修改 if((isset($_POST['t_modify'])) && ($_POST['t_modify']=='yes')){ $id=$_POST['t_id']; //addslashes()是讓資料庫能寫入單引號' 雙引號" 和反斜線\ $name=addslashes($_POST['t_name']); $note=$_POST['t_note']; $sql="UPDATE learn_demo SET t_name='$name', t_note='$note' WHERE t_id='$id'"; $result=mysql_query($sql) or die('MySQL insert error'); mysql_close($conn); header("Location: html_029_1.html"); //修改後前往某網頁 } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>喵喵笨兔 - PHP 網頁編輯 MySQL 資料庫:修改資料</title> </head> <body> <div> <?php while($row=mysql_fetch_assoc($result)){ ?> <form method="post" name="form"> <table align="center"> <tr> <td>名稱:</td> <td><input type="text" name="t_name" value="<?php echo htmlentities($row['t_name']); ?>" required></td> </tr> <tr> <td>備註:</td> <td><input type="text" name="t_note" value="<?php echo $row['t_note']; ?>"></td> </tr> <tr> <td> </td> <td><input type="reset" value="重設"><input type="submit" value="確定"></td> </tr> </table> <input name="t_modify" type="hidden" value="yes"><? //隱藏欄位用來判斷是否送出,來做修改的動作 ?> <input name="t_id" type="hidden" value="<?php echo $_GET['t_id']; //記錄篩選條件 ?>"> </form> <?php } ?> </div> </body> </html>