2017-05-12 8 views
0

を使用する場合にのみ、私はこのクエリを実行しようとしています:エラーが、私はコロン

SELECT wins FROM players WHERE auth = '[U:1:123456789]' LIMIT 1; 

しかし、私は次のエラーを取得:しかし

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LIMIT 0, 25' at line 1 

を、私はLIMIT 1を削除すると、それは動作します。私はこのように見えるようにクエリを変更した場合

、それも動作します:

SELECT wins FROM players WHERE auth = '[123456789]' LIMIT 1; 

私は、非常に困惑している私が間違っているのでしょうか?コロンはクエリを壊すようです。

編集:CREATE TABLE

CREATE TABLE `players` (
`auth` varchar(32) NOT NULL, 
`name` varchar(32) NOT NULL DEFAULT '<blank>', 
`wins` int(11) NOT NULL DEFAULT '0', 
PRIMARY KEY (`auth`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 
+2

あなたのエラーは、あなたが 'LIMIT 0を使用言う25'が、あなたのクエリがない –

+0

@AshrafulIslamを行う - それは、phpMyAdminには、自動的に行います何か。 – shavit

+0

@Martinはそれを質問の本文に編集しました。 – shavit

答えて

2

(最も可能性が高いから始まる)三の つのオプション:

0)あなたのSQLデータベースのバージョンやPHPMyAdminののバージョンは非常に、非常に出ていますできるだけ早く更新する必要があります。

1)入力変数をマークするためにコロンを使用するPHP PDOインターフェイスでSQLを実行しています。 See here

2)MariaDbはコロンを特殊文字として使用し、適切にエスケープする必要があります。

3)どういうわけか、2つのLIMIT(Tadmanの助言を受け、PhpMyAdminまたは自分のPHPインターフェイスがLIMITを追加しています)が必要ないときは、

+0

コロンはいつ特殊文字なのでエスケープする必要がありますか? –

関連する問題