<?php
mysql_connect("localhost","root","");
mysql_select_db("hftwmvirtualdb");
$Booknum = mysql_real_escape_string($_POST['Booknum']);
$Chapternum = mysql_real_escape_string($_POST['Chapternum']);
$Versenum = mysql_real_escape_string($_POST['Versenum']);
$sql = mysql_query("SELECT `VERSETEXT` FROM `booktable` WHERE `BOOKID` = $Booknum AND `CHAPTERID` = $Chapternum AND `VERSENO` = $Versenum");
echo mysql_error();
while($row=mysql_fetch_assoc($sql));
print(json_encode($row));
mysql_close();
?>
Androidアプリケーションから投稿されたデータを使用してクエリをトリガーし、mysqlデータベースから結果を取得しようとしています。テーブルには4つの列があり、最初の3列の値を定義して、3番目の列の値を取得しようとしています。ボタンをクリックするたびに、解析エラーが発生し、PHPスクリプトがSQLクエリを処理していないことがわかりました。ブラウザからスクリプトを実行すると、次のメッセージが表示されます。
- 未定義のインデックス:4行目のC:\ wamp \ www\GetVerse.phpのBooknum
- 未定義のインデックス:5行目のC:\ wamp \ www\GetVerse.phpのChapternum
- 注意:未定義のインデックス:6行目のC:\ wamp \ www\GetVerse.phpのVersenum
- SQL構文にエラーがあります。1行目の「AND
CHAPTERID
=AND =」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。VERSENO
- 警告:mysql_fetch_assoc()は、パラメーター1がリソースであると想定しています。ブール値は9行目のC:\ wamp \ www\GetVerse.phpで指定されています。
警告メッセージ1〜3が表示されるのは、投稿データを送信しなかったためですが、正しい構文を使用してみたため、修正方法がわかりません。「like」の「=」を削除してみました。それも失敗しました。何が問題ですか?。