[問題] MySQL語法問題

看板Web_Design作者 (小歐肥不肥)時間9年前 (2014/12/16 16:54), 9年前編輯推噓4(408)
留言12則, 6人參與, 最新討論串1/1
我想做一個語法 類似選取月份後 她可以echo出在這選取的月份之間的DATA 但是一直都跑不出值 後來我逐行debug 發現了在某一條 $Recordset1 = mysql_query($sql_query); 這條沒有值跑出來 我再想應該是我SQL語法寫錯 以下是我body的程式碼 <body> <form id="form1" name="form1" method="post" action="test_2.php"> <label for="m1"></label> 月份</p> <input name="m1" type="text" id="m1" value="1" /> <p>到</p> <input name="m2" type="text" id="m2" value="5" /> <p> <input type="submit" name="submit" id="submit" value="送出" /> </p> </form> <form id="form2" name="form2" method="post" action=""> <p> <?PHP $timea = $_POST['m1']; $timeb = $_POST['m2']; $sql_query = "SELECT * FROM `userdata_3` WHERE `month1` BETWEEN ".$timea." AND ".$timeb.""; //下面這行沒值 $Recordset1 = mysql_query($sql_query); $row_Recordset1 = mysql_fetch_assoc($Recordset1); echo $row_Recordset1['username']; ?> </form> </body> 麻煩各位提點了 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.184.237.148 ※ 文章網址: http://www.ptt.cc/bbs/Web_Design/M.1418720097.A.814.html

12/16 17:05, , 1F
1. echo $sql_query 看是否正確
12/16 17:05, 1F

12/16 17:05, , 2F
2. echo mysql_error() 看是否有錯
12/16 17:05, 2F

12/16 17:06, , 3F
3. 確定用 mysql_num_rows() 確定有撈到資料
12/16 17:06, 3F

12/16 17:07, , 4F
做完這些事才能稱作「逐行debug」
12/16 17:07, 4F

12/16 17:09, , 5F
我是用 echo $sql_query 與 exit();看哪行有問題的
12/16 17:09, 5F

12/16 17:12, , 6F
我用mysql_num_rows()撈不到資料
12/16 17:12, 6F

12/16 17:13, , 7F
echo mysql_error();沒有error 輸出
12/16 17:13, 7F

12/16 17:21, , 8F
直接進sql跑你那行query看錯誤
12/16 17:21, 8F
我把那段 "SELECT * FROM `userdata_3` WHERE `month1` BETWEEN ".$timea." AND ".$timeb."" 改成 "SELECT * FROM `userdata_3` WHERE `month1` BETWEEN 1 AND 5" 讀的出值 但我看不出我的變數錯在哪裡 因為我分別echo變數都有值出現 ※ 編輯: jamesemaj (111.184.237.148), 12/16/2014 17:32:41

12/16 18:09, , 9F
sql語法最後有沒有;有差嗎?
12/16 18:09, 9F

12/16 18:41, , 10F
小心SQL Injection
12/16 18:41, 10F

12/16 18:48, , 11F
echo $sql_query試試看
12/16 18:48, 11F

12/16 23:21, , 12F
感謝板友提醒 真的是injection的問題!!解決了!感到溫暖
12/16 23:21, 12F
文章代碼(AID): #1KZ_DXWK (Web_Design)