2015-11-01 48 views
-2

我有以下的下拉列表爲什麼我會收到SQL語法錯誤?

<form form action="" method="POST"> 
    <div class="w-container"> 
    <select class="w-select select-range" id="field" name="field" onchange='this.form.submit()'> 
    <option value="range_1">select Week Range</option> 
    <option value="Week 1" <?php if(isset($_POST['week']) && $_POST['week'] == 2){ ?> selected="selected" <?php } ?>>Week 2</option> 
    <option value="Week 2" <?php if(isset($_POST['week']) && $_POST['week'] == 3){ ?> selected="selected" <?php } ?>>Week 3</option> 
    </select> 
    <noscript><input type="submit" value="submit"></noscript> 
    </div> 
</form> 

而且我已經得到了下面的查詢

if(ISSET($_POST['week'])) 
    { $weekette = mysql_real_escape_string($_POST['week']); } 
else{($weekette=1);} 
function query_create_games($weeker){ 


$query = "SELECT * FROM fixtures WHERE week=$weeker"; 

經歷while循環等

我加入了else{($weekette=1);}我正在前錯誤

您的SQL語法錯誤;檢查對應於你的MySQL服務器版本在1號線

使用近「」隨着其他有正確的語法手冊,它只返回1周,當它應該返回2星期結果結果3分別。

看起來好像表單沒有通過信息傳遞到帖子。

我在這裏錯過了什麼嗎?

+2

因爲串像'周1'和'周2'需要在SQL語句中被引用....雖然它是2015年了,所以你真的應該使用預處理語句使用綁定變量的 –

+0

我知道如何使用preparred陳述,我只是在剛剛離線時做這個臨時項目,所以我不需要花時間學習準備好的聲明。 –

+0

@MarkBaker概述了字符串需要在引號.....所以你的查詢應該看起來像'WHERE week ='$ weeker'' .. – Darren

回答

0
$query = "SELECT * FROM fixtures WHERE week='$weeker'"; 

這應該可以解決您的問題。

+1

你的答案可能是對的,但你應該概述如何解決問題這樣OP就不會一次又一次地做到這一點。 – Darren

相關問題