Re: [請益] 無法insert到MySQL中

看板PHP作者 (皮皮快跑)時間16年前 (2009/12/26 09:42), 編輯推噓6(602)
留言8則, 7人參與, 最新討論串2/2 (看更多)
※ 引述《apolkingg8 (NowDays)》之銘言: html吃光光...... <?php $SQLAccessID="******"; $SQLpwd="*******"; $SQLHost="localhost"; $Link=mysql_connect($SQLHost,$SQLAccessID,$SQLpwd); $sql = "INSERT INTO `wpd`.`user_table` (UserName,UserNumber,UserAccount,UserPassword, UserRegistDate,UserMail) VALUES ('".$_POST["name"]."', '".$_POST["num"]."', '".$_POST["account"]."', '".$_POST["password"]."', '2009-12-26', '".$_POST["mail"]."')"; mysql_query($sql,$Link); ?> 善於思考單引號、雙引號的用法,一切都會變成較為簡單及美好。 另外的建議,就是把連結sql的部份另外寫一個php檔呼叫進來使用。 可以省下很多的問題。 不過如果你是先把$_POST["XXXX"]轉成$XXXXX的話 「".」和「."」就可以省略...... 超簡化寫法似乎不能用在陣列。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.131.233

12/26 11:14, , 1F
感謝 :)
12/26 11:14, 1F

12/26 12:19, , 2F
其實可以喔... "{$_POST['XXX']}" 像這樣用
12/26 12:19, 2F

12/26 14:09, , 3F
然後這樣會有sql injection的洞
12/26 14:09, 3F

12/26 15:34, , 4F
推薦mysqli
12/26 15:34, 4F

12/26 15:55, , 5F
因為這樣就轉 mysqli,還不如直接用 PDO
12/26 15:55, 5F

12/27 16:02, , 6F
怕SQLinj就把所有變數先取出來escape加regex replace過
12/27 16:02, 6F

12/27 16:03, , 7F
一遍 不要從$_POST取就成了 不然引號怎樣還是會有漏洞
12/27 16:03, 7F

12/28 13:43, , 8F
推foreach
12/28 13:43, 8F
文章代碼(AID): #1BDMdyAs (PHP)
文章代碼(AID): #1BDMdyAs (PHP)