09/10/2018, 23:23

Cứu - không biết lỗi ở đâu !

Code:
if ($singer <> ""){
        $query = mysql_query("SELECT ID FROM cds WHERE singer='$singer'");
        $row = mysql_fetch_row($query);
        while ($row){
            echo $row['0'];            
        }
        
    }
Các bạn cho hỏi:
- tại sao php làm việc với mysql 5 lại in ra màn hình phần tử của mảng theo thứ tự chứ không phải theo tên phần tử. Tôi vẫn viết code trên cho mysql 3 là:
Code:
echo $row['ID'];
- Tại sao đoạn code trên lại lặp không giới hạn, mà rõ ràng là chỉ lặp khi còn tồn tại biến $row.
- Nếu hai câu trên tôi hỏi khó hiểu quá thì làm ơn trả lời giúp câu này: Để in ra màn hình một kết quả trả về từ một query mà lại có nhiều bản ghi thỏa mãn điều kiện thì ta làm thế nào, cho VD một đoạn code cụ thể nha (php 5 và mysql 5).
littleghost viết 01:32 ngày 10/10/2018
tôi đoán là php 5 cú pháp có khác đi chút xíu, thôi chưa có ai trả lời ngồi đọc cái what new của php 5 vậy. Cái hosting nó cài php 5 chứ ai muốn đâu (
mrsinguyenus viết 01:36 ngày 10/10/2018
Sữa lại thử:
Code:
if ($singer <> ""){
        $query = mysql_query("SELECT ID FROM cds WHERE singer='$singer'");
        ;
        while ($row = mysql_fetch_row($query)){
            echo $row['0'];            
        }
        
    }
QueenRock viết 01:27 ngày 10/10/2018
câu 1: bạn nên chuyển sang dùng mysql_fetch_array thay cho mysql_fetch_rows thì sẽ dùng được như bạn muốn
câu 2: bạn dùng while($row) thì chắc chắn nó sẽ lặp vô tận
Code:
if ($singer <> ""){
        $query = mysql_query("SELECT ID FROM cds WHERE singer='$singer'");
        $row = mysql_fetch_row($query);
echo $row;

        
}
sẽ biết ngay tại sao nó lặp
littleghost viết 01:28 ngày 10/10/2018
cám ơn mrsinguyenus code lại như bạn web của mình chạy rồi. Lần đầu tự code từ đầu đến cuối lắm lỗi thật.
cám ơn queenrock, mình sẽ thử fetch array xem.
Bài liên quan
0