0

以下は、ブラウザの URL を使用してサーバーから単純に実行したため、「\nQuery was empty」を返します。

これは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);
}
?>
4

3 に答える 3

1

file_get_content を使用する必要はなく、テーブル名の後に空白を 1 つ入れる必要があります。

<?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);
}
?>
于 2013-05-02T05:56:36.970 に答える
0

クエリに問題があり、テーブル名の後に空白が必要です

SELECT * FROM  `Tailor` LIMIT 0 , 30
于 2013-05-02T05:51:38.320 に答える
0

最初

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

しかし、あなたはそれを上書きします

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

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

次にあなた

$sth = mysql_query($query);

// LIKE $sth = mysql_query('aaa=bbb&ccc=lll'); //it not sql query format
于 2013-05-02T06:01:48.893 に答える