0

Java アプリケーションからのクエリを処理するためにサーバー側で実行される PHP スクリプト。テーブルには、返される必要がある 450 の結果がありますが、何らかの理由で、ビジネスが見つからないステートメントに移動します..

テストのために、次の値を使用して Android アプリから HTTPGet に関する情報を送信します

varQuery2 は文字列で = 状態 varQuery1 は文字列で = MS

<?php

$result = mysql_query("SELECT * FROM businessdata WHERE '" 
. mysql_real_escape_string($_REQUEST['varQuery2'])."' =  '" 
. mysql_real_escape_string($_REQUEST['varQuery1'])."'") or die(mysql_error());

// check for empty result
if (mysql_num_rows($result) > 0) {
// looping through all results
// businesses node
$response["businesses"] = array();

while ($row = mysql_fetch_array($result)) {
    // temp user array
$business = array();
$business["bid"] = $row["idbusinessData"];
$business["name"] = $row["name"];
$business["owner"] = $row["owner"];
$business["phone_main"] = $row["phone_main"];



array_push($response["businesses"], $business);
}
// success
$response["success"] = 1;

// echoing JSON response
echo json_encode($response);
} else {
// no businesses found
$response["success"] = 0;
$response["message"] = "No businesses found";

// echo no users JSON
echo json_encode($response);
}
?>

なぜこれが失敗するのか、それを修正する方法はありますか? また、スクリプト全体が選択で static state = 'MS' で機能したことにも注意してください...ブラウザーウィンドウから次のように呼び出した場合でも:

http://address/scriptName.php?varQuery2=state+varQuery1=MS 

いまだに同じ No Business Found の応答が返ってきます..

コメントによると、以下はここで使用されている表です..

CREATE  TABLE `test`.`businessData` (
`idbusinessData` INT NOT NULL AUTO_INCREMENT ,
`name` CHAR(255) NULL ,
`owner` CHAR(255) NULL ,
`phone_main` CHAR(10) NULL ,
PRIMARY KEY (`idbusinessData`) );

私が正しい軌道に乗っているかどうかを確認するためのちょっとした更新:

switch ($_GET){
case "state":
$result = mysql_query("SELECT * FROM businessdata WHERE state =  '" . mysql_real_escape_string($_REQUEST['varQuery1'])."'") or die(mysql_error());

case "zip";
// zipcode results
case "nothing";
// default results
}
4

1 に答える 1

3

のすべてのビジネスを選択しようとしていますが"state" = "MS"、これはもちろん毎回 false になります (2 つの文字列を互いに比較します)。

GET 要求の一部として列名を含めることは避けてください。代わりに、クエリを実行する列ごとに特定の GET フィールドを使用し (例: search.php?state=MS)、指定されたパラメーターに基づいてクエリを作成することを検討してください。

于 2012-10-22T08:00:49.180 に答える