[請益] 新手求救修改語法

看板PHP作者 (Leo)時間17年前 (2008/06/24 16:44), 編輯推噓2(204)
留言6則, 5人參與, 最新討論串1/1
因為是新手發問,有些地方還請見諒 最近我們再寫一個修改的語法。 是要從資料庫將已寫進去的資料抓出來, 然後再跳到修改的畫面,可是, 我們有跳過去了,只是修改不暸,想請問各位大大該怎麼解決。 我先貼修改那段的語法,( 因為不知道可否把全部的貼出來 if($_POST['submit_item'] == "修改資料") { // 驗證留言 if ($_POST['C_name']=="") { echo "您的姓名未輸入!!"; } elseif($_POST['C_address']=="") { echo "您的外送地址未輸入!!"; } elseif($_POST['C_tel']=="") { echo "您的電話未輸入!!"; } elseif($_POST['C_sex']=="") { echo "您的性別未輸入!!"; } elseif($_POST['C_age']=="") { echo "您的年齡未輸入!!"; } elseif($_POST['C_job']=="") { echo "您的工作未輸入!!"; } elseif($_POST['C_time']=="") { echo "您的送貨時間未輸入!!"; } else { $sql = "update * from customer where C_id=(select MAX(C_id) from customer)"; $sql .= " set C_name = '".$_POST['C_name']."' "; $sql .= ", C_address = '".$_POST['C_address']."' "; $sql .= ", C_tel = '".$_POST['C_tel']."' "; $sql .= ", C_sex = '".$_POST['C_sex']."' "; $sql .= ", C_age = '".$_POST['C_age']."' "; $sql .= ", C_job = '".$_POST['C_job']."' "; $sql .= ", C_time = '".$_POST['C_time']."' "; $sql .= ", datetime=now()"; $sql .= " where C_id = '".$_POST['C_id']."' "; $sql_result = mysql_query($sql); echo "修改完成!!"; } 以上,謝謝大大指教。 還有刪除語法也是跟這邊一樣的情形。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.224.163.15

06/24 17:32, , 1F
sql字串第一行多了where
06/24 17:32, 1F

06/25 10:24, , 2F
同樓上,把sql echo 出來 丟到MYSQL 執行 就知道哪
06/25 10:24, 2F

06/25 11:47, , 3F
從一開始就要習慣, $_POST、$_GET 不要直接拿來用.
06/25 11:47, 3F

06/25 16:05, , 4F
樓上這句話很重要(SQL injection可是很恐怖的!)
06/25 16:05, 4F

06/25 19:15, , 5F
謝謝大大指教,問題已解
06/25 19:15, 5F

06/25 22:47, , 6F
希望你還有注意到 $_POST 和 $_GET 的問題.
06/25 22:47, 6F
文章代碼(AID): #18OBG1zR (PHP)
文章代碼(AID): #18OBG1zR (PHP)