2014-01-21 203 views
0

我連接到服務器與PHP的幫助下的Android應用程序。 phpmyadmin中的數據庫名稱是「student」,表名稱是「data」,字段是「Name」和「EmpId」 這就是我編寫n php並獲取「$ output」部分的錯誤爲未定義變量 下面是代碼:連接php與服務器

<?php 
$connection = connectionserver(); 
function connectionserver(){ 

$con = mysql_connect("localhost", "root", "") or die ("connection not found"); 

if($con) 
echo "Connection Created" ,"<br>"; 


$database = mysql_select_db ("student1", $con); 

if($database) echo "Database Connected" , "<br>"; 
return $con; 

} 

$result = mysql_query("select * from data"); 
while ($row = mysql_fetch_assoc($result)) 
{ 
    $output [] = $row; 
} 
    print json_encode($output); 
    mysql_close($connection); 


?> 
+2

$輸出應該在你給它賦值之前聲明一次,試試吧! – Saqib

+0

「連接創建」回顯?數據中是否有數據? –

+1

$ output = array(); –

回答

2

聲明$輸出數組而

$output = array(); 
+0

完成。謝謝!!! – Karma5

0

嘗試在此之前,

 echo connectionserver(); 

     function connectionserver(){   
       $con = mysql_connect("localhost", "root", "") or die ("connection not found");       

       $database = mysql_select_db ("student1", $con);          

       $result = mysql_query("select * from data") or die(mysql_error()); 
       $output = array(); 
       while ($row = mysql_fetch_assoc($result)) 
       { 
        $output[] = $row; 
       }     
       mysql_close($con); 
      return json_encode($output);   
     } 
+0

仍然收到相同的錯誤 – Karma5

+0

請檢查我的更新代碼! –

0

優米ay試試這個:

<?php 
$connection = connectionserver(); 

function connectionserver(){ 

$con = @mysql_connect("localhost","root",""); 
if(!$con) die("Can't connect!!");  

$var2 = @mysql_select_db("student1",$con); 
if(!$var2) 
    die("<br>"."can't select dataBase"); 

$result = mysql_query("select * from data"); 

while ($row = mysql_fetch_assoc($result)) 
{ 
    $output[] = $row; 
} 

print json_encode($output); 

mysql_close($con); 

} 
?> 
1

$ undefined_array [] ='something'不會觸發E_NOTICE錯誤。但是,初始化變量是一種很好的做法。

該錯誤來自json_encode行,很可能是因爲您的查詢沒有返回任何結果,沒有進入while循環,因此$ output []從未執行過。