2016-08-04 2 views
0

Um eine REST-API für mein Android-App zu installieren, würde Ich mag ein assoziatives Array aus der folgenden Erklärung bekommen:Wie kann man das Ergebnis von mysqli in einem assoziativen Array speichern?

$stmt = $this->conn->prepare("SELECT * FROM stores_diag WHERE rim = ?"); 
    $stmt->bind_param("s", $email); 
    $stmt->execute(); 
    $stmt->store_result(); 
    $count=$stmt->num_rows(); 
    echo $count; 

Diese Anfrage 3 Ergebnis und die $ count ist gut, ich habe zurückkehren sollte meine 3 Ergebnis. Aber wie könnte ich das Ergebnis in einem Array einzudecken Prozess, in dem ich so navigieren könnte:

$ array [0] [ "name"] = Name des ersten Elements

$ array [1] [ "name"] = Name des zweiten Elements

Dies ist für die Codierung des Arrays in Json für meine API.

Antwort

0

Dies ist die Funktion die Sie suchen:

Ruft alle Ergebniszeilen als assoziatives Array, als numerisches Array oder beides http://php.net/manual/en/mysqli-result.fetch-all.php

Sie mögen es

mysqli_fetch_all($stmt,MYSQLI_ASSOC); 

verwenden können Sie müssen mysqlnd Treiber und PHP 5.3 oder höher haben. Wenn Sie nicht die Funktion ausführen können versuchen

$stmt = $this->conn->prepare("SELECT * FROM stores_diag WHERE rim = ?"); 
$stmt->bind_param("s", $email); 
$result = $stmt->execute(); 
$fetchAsssoc = array(); 
while($row = $result->fetch_assoc()) { 
    $fetchAsssoc[] = $row; 
} 
echo json_encode($fetchAsssoc); 
//$stmt->store_result(); 
//$count=$stmt->num_rows(); 
//echo $count; 

End am Ende verwenden, können Sie das Rück/echo json_encode($assocArray);

+0

Im ein wenig verwirrt, shoud ich verwende es so? $ stmt = $ this-> conn-> vorbereiten ("SELECT * FROM stores_diag WHERE rand =?"); $ stmt-> bind_param ("s", $ email); $ stmt-> execute(); $ stmt-> store_result(); $ count = $ stmt-> num_rows(); Echo $ zählen; $ result = mysqli_fetch_all ($ stmt, MYSQLI_ASSOC); Echo $ Ergebnis [0] ["Name"]; Denn ich habe überhaupt keine Ergebnisanzeige, wenn ich das tue? –

+0

Haben Sie den mysqlnd Treiber installiert und ist Ihr PHP 5.3 oder höher? – g9m29

+0

ich weiß nicht, wie sollte ich das überprüfen? Mein Code funktioniert auf einem Server und ich bin im Test mit Postboten –

Verwandte Themen