2013-02-26 27 views
6

Truy vấn của tôi hoạt động tốt. nhưng wen cố gắng có được giá trị duy nhất từ ​​bảng mysql fetch array không hoạt động.mysql_fetch_array không hoạt động cho kết quả truy vấn 1 hàng

đây là sql A-2815 là mã mặt hàng của xe. trường này là duy nhất. Kết quả mong đợi là chi tiết xe của 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 "; 

đây là mã php của tôi.

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

điều này hoạt động khi kết quả có nhiều hơn 1 hàng. nhưng vấn đề là khi kết quả là 1 hàng thì nó không hoạt động.

+1

bạn có thể cung cấp kết quả của hồ sơ duy nhất mà không hiển thị – Vineet1982

+1

Phần mở rộng 'mysql' bị phản đối dường như của 5.5.0? Xem [Hướng dẫn sử dụng PHP.net] (http://php.net/manual/en/function.mysql-fetch-array.php) để biết thêm chi tiết. – ddtpoison777

+0

Bạn cũng có thể sử dụng [heredoc] (http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc) để tạo truy vấn của bạn. Nó sẽ loại bỏ các bước lặp đi lặp lại để tiếp tục thêm một chuỗi mới vào một biến hiện có. – ddtpoison777

Trả lời

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

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

giải pháp MySQLi cho điều này

$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

'MYSQL_BOTH' có phải là mặc định cho mysql_fetch_array() không? – ddtpoison777

+0

@logansama, đã sửa. –

Các vấn đề liên quan