0

アプリ プロジェクトの API を設定しようとしています。

行を追加した「users」という名前の mysql テーブルがあります。

コードを使用して:

// Create connection
$mysqli = new mysqli("localhost","user", "pass", "db");

// Check connection
if($mysqli->connect_errno){

    $result = "Failed to connect to MySQL: " . mysqli_connect_error();
    print_r( json_encode($result) );    
    return false;

}

$row = $mysqli->query("SELECT * FROM users");
print_r( json_encode($row) );

空の結果が表示されるのはなぜですか? (接続はエラーになりません)

正確に言うと、次のようになります。

{"current_field":null,"field_count":null,"lengths":null,"num_rows":null,"type":null}

編集:

ym の元の質問への回答を得ました、ありがとう!

だから今コードを使用して:

$row = $mysqli->query("SELECT * FROM users WHERE email = '".$email."'");
$result = $row->fetch_array();
print_r( json_encode($result) );

私は結果を得る:

{"0":"test","username":"test","1":"test@test.com","email":"test@test.com","2":"test","password":"test","3":"2013-10-18 22:22:53","date_registered":"2013-10-18 22:22:53","4":"1","id":"1"}

私が欲しいのは次のようなものです:

{"username":"test","password":"test","email":"test@test.com", ...etc }

どうすればそれを取得できますか?

4

2 に答える 2

2

これを試して:

$result = $mysqli->query("SELECT * FROM users");
$row = $result->fetch_array(MYSQLI_ASSOC);
print json_encode($row);   // json_encode returns a string...

連想配列でこれを試してください:

while($row = $result->fetch_array(MYSQLI_ASSOC))
{
   $rows[] = $row;
}
print json_encode($rows);

またはあなたが試すことができます...$rows = $result->fetch_all(MYSQLI_ASSOC);

于 2013-10-18T21:56:36.657 に答える
1

mysqli_query()mysqli_resultを返します。行を処理する前に、行を (この場合は配列として) フェッチする必要があります。次の行を追加しました。

// Create connection
$mysqli = new mysqli("localhost","user", "pass", "db");

// Check connection
if($mysqli->connect_errno){

    $result = "Failed to connect to MySQL: " . mysqli_connect_error();
    print_r( json_encode($result) );    
    return false;

}

// Get a mysql_result
$row = $mysqli->query("SELECT * FROM users");

// Get it into an array without numeric indexes
$result = $row->fetch_assoc();

// Display the row
print_r( json_encode($result) );
于 2013-10-18T21:57:27.263 に答える