これは Android アプリケーション用で、PHP で記述された Web サービスを使用しています。3 つの php スクリプトがあります - dbconnect.php (これにはすべての db 変数があります)、login.php (これはユーザーの資格情報を検証し、セッションを開きます)、および showCases.php (これは、から取得した userID 変数からチケットのリストを返します) login.php スクリプト)
しかし、何らかの理由で、情報 showCases.php を要求しているときに、「ユーザー 'ODBC'@'localhost' のアクセスが拒否されました (パスワードを使用: NO)」というメッセージが表示されます。セッションが正しく使用されているかどうかはよくわかりません。
login.php スクリプトは次のとおりです。
//Displaying the error if sql query is incorrect
if(!$result){
die(mysql_error());
}else{
$row = mysql_fetch_assoc($result);
$first_name = $row['first_name'];
$id = $row['id'];
}
//If found, number of rows must be 1
if($num_rows==0){
$success = 0;
}else{
//creating session
session_start();
session_register("$username");
session_register("$password");
$success = 1;
}
$arr = array(
array('username' => $username, 'id'=>$id,'success'=>$success, 'first_name'=>$first_name));
#array('success'=> $success));
echo json_encode((array('Username'=>$arr)));
mysql_close();
?>
スクリプトは、検証を処理するために、ユーザー名配列を Android アプリケーションに返します。検証時に、Android アプリケーションはこの php スクリプトからチケットを要求します。
session_start();
#require('dbconnect.php');
require_once('login.php');
$response=array();
$response['infos'] = array();
//execute the SQL query and return records
$result = mysql_query("SELECT cases.id, cases.account_id.... casesvisibility.user_id = '$id'......";
//Displaying the error if sql query is incorrect
if(!$result){
die(mysql_error());
}
$num_rows = mysql_num_rows($result);
$arr = array();
if($num_rows!=0){
while ($row = mysql_fetch_assoc($result)) {
$arr['cases_id']=$row['cases.id'];
$infos[]=$arr;
}
}else{
#$arr['existingCases']=$row['0'];
$arr['cases_id']=0;
$infos[]=$arr;
}
#Echoing a JSONArray
print(json_encode(array('Cases'=>$infos)));
//close the connection
mysql_close();
?>
これが私が達成したい機能の適切に書かれたコードであるかどうかはあまりわかりません。Android アプリケーションからこのスクリプトを呼び出すと、最初にログイン スクリプトから JSON_array を取得すると、次のように表示されます。
{"Username":[{"username":"","id":null,"success":0,"first_name":null}]}id is
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in E:\wamp\www\mobile.dcl.mu\webserver\showCases.php on line 18
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in E:\wamp\www\mobile.dcl.mu\webserver\showCases.php on line 18
ユーザー 'ODBC'@'localhost' のアクセスが拒否されました (パスワードを使用: NO)
別の php スクリプトの変数を使用しようとしていることは理解しています。
この問題を教えてください。
ありがとうございました