作者jamesemaj (小歐肥不肥)
看板Web_Design
標題[問題] MySQL語法問題
時間Tue Dec 16 16:54:53 2014
我想做一個語法
類似選取月份後
她可以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
→ bibo9901: 1. echo $sql_query 看是否正確 12/16 17:05
→ bibo9901: 2. echo mysql_error() 看是否有錯 12/16 17:05
→ bibo9901: 3. 確定用 mysql_num_rows() 確定有撈到資料 12/16 17:06
→ bibo9901: 做完這些事才能稱作「逐行debug」 12/16 17:07
→ jamesemaj: 我是用 echo $sql_query 與 exit();看哪行有問題的 12/16 17:09
→ jamesemaj: 我用mysql_num_rows()撈不到資料 12/16 17:12
→ jamesemaj: echo mysql_error();沒有error 輸出 12/16 17:13
推 pm2001: 直接進sql跑你那行query看錯誤 12/16 17:21
我把那段
"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
推 tw0517tw: sql語法最後有沒有;有差嗎? 12/16 18:09
推 jhunkyoiori: 小心SQL Injection 12/16 18:41
推 crossdunk: echo $sql_query試試看 12/16 18:48
→ jamesemaj: 感謝板友提醒 真的是injection的問題!!解決了!感到溫暖 12/16 23:21