2013-03-29 19 views
0

我在執行這個特定的PHP腳本時遇到了一個錯誤,我不知道它可能有什麼錯誤。「您的SQL語法錯誤..在'key'附近」

錯誤代碼:您的SQL語法有錯誤;檢查對應於你的MySQL服務器版本正確的語法以線附近「鍵=」值「」使用1個

PHP代碼手冊:

<?php 
include("includes/onbowlconnect.php"); 

$key = $_GET['key']; 

$query = mysql_query("SELECT * FROM bowlvalidkeys WHERE key='$key'") or die (mysql_error()); 

$result = mysql_num_rows($query); 

if($result == 1) 
{ 
    echo 'GameIDkey was succesfully validated !'; 
} 
else 
{ 
    echo 'GameIDkey is not valid , please try again'; 
} 
?> 

誰能幫助我在這裏?

謝謝!

+2

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 –

+0

哦,好吧然後我會檢查出來,謝謝 – kilianvde

回答

4

key保留圍繞關鍵mysql keywords

使用反引號這個

SELECT * FROM bowlvalidkeys WHERE `key` ='$key' 
+0

http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html –

+0

謝謝,它現在工作 – kilianvde

+0

歡迎您!很高興我可以幫助你:)。 –

0

鍵保留MySQL的話

使用本

$key = mysql_real_escape_string($key); 
$query = mysql_query("SELECT * FROM bowlvalidkeys WHERE `key`='$key'") or die (mysql_error()); 
0

嘗試:

mysql_query("SELECT * FROM bowlvalidkeys WHERE 'key'='$key'") 
0

因爲「key」是MySQL中的保留字,所以出現錯誤。您應該更改列的名稱,或者在查詢'key'='$ key'中查看它的名稱。

此外,一定要清理您的$ _GET變量,否則您將很容易受到SQL注入攻擊。