2013-02-26 11 views
6

Moje zapytanie działa poprawnie. ale wen próbuje uzyskać unikalną wartość z tabeli mysql pobierania tablicy nie działa. To jest mój sql A-2815 to kod przedmiotu pojazdu. to pole jest wyjątkowe. Oczekiwany wynik to item_code Dane pojazdu A-2815.mysql_fetch_array nie działa dla wyniku zapytania 1-wierszowego

$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 "; 

To jest mój kod php.

<?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']; 
     } 
?> 

to działa dobrze, gdy wyniki są większe niż 1 wiersz. ale problem polega na tym, że wynik wynosi 1 wiersz, więc nie działa.

+1

można podać wynik pojedynczego rekordu, który nie wyświetla – Vineet1982

+1

Rozszerzenie 'MySQL jest nieaktualna wydaje się od 5.5.0? Więcej informacji można znaleźć na [Manualnej stronie PHP.net] (http://php.net/manual/en/function.mysql-fetch-array.php). – ddtpoison777

+0

Można również użyć [heredoc] (http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.[oc) do zbudowania zapytania. Spowoduje to usunięcie powtarzalnego kroku, aby dodać nowy ciąg do istniejącej zmiennej. – ddtpoison777

Odpowiedz

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

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

rozwiązanie MySQLi tego

$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

Czy "MYSQL_BOTH" nie jest wartością domyślną dla mysql_fetch_array()? – ddtpoison777

+0

@logansama, poprawione. –

Powiązane problemy