2013-05-02 111 views
0

以下返回「\ nQuery爲空」,因爲我只是通過瀏覽器中的URL從我的服務器運行它。PHP腳本返回JSON不起作用

這是PHP代碼:

<? 

$databasehost = "server"; 
$databasename = "xxxx"; 
$databaseusername ="xxxx"; 
$databasepassword = "xxxx"; 
$query = "SELECT * FROM `Tailor`LIMIT 0 , 30"; 
$con = mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error()); 
mysql_select_db($databasename) or die(mysql_error()); 
$query = file_get_contents("php://input"); 
$sth = mysql_query($query); 

if (mysql_errno()) { 
    header("HTTP/1.1 500 Internal Server Error"); 
    echo $query.'\n'; 
    echo mysql_error(); 
} 
else 
{ 
    $rows = array(); 
    while($r = mysql_fetch_assoc($sth)) { 
     $rows[] = $r; 
    } 
    print json_encode($rows); 
} 
?> 

回答

1

無需使用file_get_content後的空白問題,你必須把表名後加上一個空格。

<?php 

$databasehost = "server"; 
$databasename = "xxxx"; 
$databaseusername ="xxxx"; 
$databasepassword = "xxxx"; 
$query = "SELECT * FROM `Tailor` LIMIT 0 , 30"; 
$con = mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error()); 
mysql_select_db($databasename) or die(mysql_error()); 

$sth = mysql_query($query); 

if (mysql_errno()) { 
header("HTTP/1.1 500 Internal Server Error"); 
echo $query.'\n'; 
echo mysql_error(); 
} 
else 
{ 
$rows = array(); 
while($r = mysql_fetch_assoc($sth)) { 
    $rows[] = $r; 
} 
print json_encode($rows); 
} 
?> 
+0

得到JSON的權利!完成 – Naaz 2013-05-02 06:15:23

0

您的查詢有你需要的tablename

SELECT * FROM `Tailor` LIMIT 0 , 30 
+0

治癒,但仍然是相同的 – Naaz 2013-05-02 06:00:45

+0

你爲什麼要唱這$查詢=的file_get_contents ( 「PHP://輸入」);? – 2013-05-02 06:01:45

+0

我刪除了它不需要nw im注意結果 – Naaz 2013-05-02 06:10:48

0

第一

$query = "SELECT * FROM `Tailor`LIMIT 0 , 30"; 

但你覆蓋它

$query = file_get_contents("php://input"); 

// $query like aaa=ggg&bbb=kkk 

那麼你