解決済み: 問題は、'>' と '<' を変更するフォームから値を取得するときに htmlentities() を使用していました。
< になる <
> になる >これはSQLによって認識されないため、私の問題を引き起こしています!
SQL DATABASE にクエリを送信できる HTML と PHP で c9.io に基本的な Web サイトを作成しました。私が送信するほとんどのクエリは、構文エラーの原因となる大なり演算子または小なり演算子を使用しない限り、正常に機能します。例えば:
SELECT bTitle FROM Book WHERE bQuantity > 9;
次のエラーが発生します。
SQL 構文にエラーがあります。1行目の「9」付近で使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください
しかし、単純に equal 演算子を使用すると、問題なく動作します。
SELECT bTitle FROM Book WHERE bQuantity = 10;
私が間違っていることや見落としていることはわかりませんが、ご意見をいただければ幸いです。
-編集-クエリを実行している Book テーブルを作成するコードの抜粋。
CREATE TABLE Book
(
bID INT,
bTitle VARCHAR(200),
bPrice DECIMAL,
bAuthor VARCHAR(200),
bQuantity INT,
supplierID INT,
subjectID INT
);
これが私のサイトがクエリ入力を受け取る場所です
<form action="result.php" method="get" target="resframe">
<label for="query_text">Enter Query:</label>
<input type="text" id="query_text" name="query_text"/>
<input type="submit" name="submit" value="send"/>
</form>
そして、私のresult.phpは実際に、次のコードを使用してデータベースへのクエリを作成します。
$val1 = htmlentities($_GET['query_text']);
$results = mysqli_query($connect, $val1);