0

プリペアドステートメントで複数のWHERE句を使用して、mysqlデータにアクセスしようとしてエラーが発生しました。これは、SQL例外を生成するコードです(パラメーターインデックスが範囲外です(2>パラメーターの数。1)。

"SELECT Arrived_time, Closed_time FROM ? 
WHERE (\"Year  = ?\n) AND (\"Month = ?\n) AND (\"Day = ?)" 

そして私は3つのパラメーターを入力しました。もっと良い方法はありますか?

4

2 に答える 2

1

前述のように、テーブル名を指定し、正しい引用符を使用する必要があります。

"SELECT `Arrived_time`, `Closed_time` FROM TABLENAME
WHERE (`Year`  = ?) AND (`Month` = ?) AND (`Day` = ?)" 
于 2013-01-13T23:33:04.030 に答える
0

"Year"列、"Month"、およびに名前を付けるときに、終了引用符がありません"Day":

"SELECT Arrived_time, Closed_time FROM ? 
WHERE (\"Year\"  = ?\n) AND (\"Month\" = ?\n) AND (\"Day\" = ?)" 

あなたのバージョンでは、データベースは次のような列を探します"Year = ?\n) AND ("

于 2013-01-13T23:10:38.560 に答える