2013-02-26 10 views
6

Meine Abfrage funktioniert gut. aber wen versucht, bekommen einzigartigen Wert aus der Tabelle mysql fetch array funktioniert nicht.mysql_fetch_array funktioniert nicht für 1 Zeile Abfrageergebnis

dies ist mein sql A-2815 ist der Artikelcode des Fahrzeugs. Dieses Feld ist einzigartig. Das erwartete Ergebnis ist die Fahrzeugdetails von item_code A-2815.

$sql = "SELECT vehicle.id, item_code, make, model, vehicle_type, color, showroom_id, "; 
$sql .= "adding_user_Id, approved, image_1 "; 
$sql .= "FROM images, vehicle "; 
$sql .= "WHERE vehicle.id=images.item_id "; 
$sql .= "AND (item_code LIKE '%A-2815%' "; 
$sql .= "OR make LIKE '%A-2815%' "; 
$sql .= "OR model LIKE '%A-2815%' "; 
$sql .= "OR vehicle_type LIKE '%A-2815%' "; 
$sql .= "OR color LIKE '%A-2815%' "; 
$sql .= "OR showroom_id LIKE '%A-2815%') "; 
$sql .= "AND activate=1 "; 
$sql .= "AND type_of_image=1 "; 

das ist mein PHP-Code.

<?php 
     $query = mysql_query($sql); 
     while($result = mysql_fetch_array($query)){ 
      echo $result['item_code']; 
      echo $result['make']; 
      echo $result['model']; 
      echo $result['vehicle_type']; 
      echo $result['color']; 
      echo $result['showroom_id']; 
     } 
?> 

Dies funktioniert in Ordnung, wenn die Ergebnisse mehr als 1 Zeile sind. aber Problem ist, wenn das Ergebnis 1 Zeile ist, dann funktioniert es nicht.

+1

Können Sie das Ergebnis der einzelnen Datensatz zur Verfügung stellen, die nicht – Vineet1982

+1

anzeigt Die ‚mysql‘ Erweiterung es veraltet ist, als von 5.5.0? Weitere Informationen finden Sie auf der [PHP.net Manual Page] (http://php.net/manual/en/function.mysql-fetch-array.php). – ddtpoison777

+0

Sie können auch [heredoc] (http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc) verwenden, um Ihre Abfrage zu erstellen. Es würde den sich wiederholenden Schritt entfernen, um eine neue Variable zu einer vorhandenen Variable hinzuzufügen. – ddtpoison777

Antwort

3
while ($result = mysql_fetch_array($query, MYSQL_ASSOC)) { 

    // assoc 
    echo $result['item_code']; 
} 

MySQLi Lösung für dieses

$connect = mysqli_connect('localhost', 'root', 'pwd', 'dbname'); 

$sql = "select * from sometable"; 

$query = mysqli_query($connect, $sql); 

while ($result = mysqli_fetch_array($query, MYSQLI_ASSOC)) { 
    // assoc 
    echo $result['item_code']; 
} 
+0

Ist 'MYSQL_BOTH' nicht der Standard für mysql_fetch_array()? – ddtpoison777

+0

@logansama, korrigiert. –

Verwandte Themen