這是一個Android應用程序,我使用的是用php編寫的web服務。我有3個PHP腳本 - dbconnect.php(這有所有的數據庫變量),login.php(這驗證用戶憑據和打開會話)和showCases.php(它將返回從userID變量login.php腳本)如何使用不同的php腳本的會話和變量到另一個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腳本使用變量。
你能幫我解決這個問題嗎?
謝謝
我在login.php腳本的頂部有這個 include('dbconnect.php'); 該腳本包含有關數據庫和mysql連接的所有正確信息。我是否也需要將它包含在showCases.php之上,即使我已經包含了login.php? – mokko211 2013-02-19 11:33:35