Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tạo mảng PHP từ MySQL với giá trị khóa từ cột id

Điều này có thể thực hiện được như một mảng kết hợp.

Tất cả những gì bạn phải làm là thay đổi

$array[] = $row

đến

$array[$row['ID']] = $row

Bạn cần đảm bảo rằng ID cột trong cơ sở dữ liệu của bạn là duy nhất để mảng kết hợp không ghi đè lên các khóa (trong trường hợp này, chỉ bản ghi cuối cùng có ID trùng lặp sẽ còn lại)

CHỈNH SỬA (19-11-2015)

Cũng về 'vòng lặp mysql' của bạn - nó chỉ là một while PHP thông thường vòng lặp lặp qua các bản ghi được cung cấp bởi mysql_* hoặc mysqli_* chức năng. Bạn đang lặp lại kết quả trả về khi thực thi một câu lệnh sql trên cơ sở dữ liệu chỉ tìm nạp và định dạng các hàng cho bạn theo một cách nhất định.

MySQL và MySQL i là hai thứ khác nhau nhưng SQL mà chúng sử dụng không khác gì nhau (ngoại trừ các câu lệnh có thể đã chuẩn bị sẵn?). Học SQL là những gì bạn sẽ làm và để thực thi nó, bạn sẽ sử dụng mysqli_* kể từ bây giờ kể từ mysql_* các chức năng không được dùng nữa

Tôi chỉ muốn chỉ ra những điều đó để giải tỏa một số nhầm lẫn mà bạn có thể đã hoặc sẽ mắc phải trong tương lai. :)

Để đọc thêm về mysqli, hãy đọc hướng dẫn sử dụng php.net , tất cả đều hơi phức tạp nếu bạn mới bắt đầu nhưng điều đó ổn - hãy hiểu những gì bạn có thể và nỗ lực để hiểu những gì bạn không thể.

CHỈNH SỬA 2 (19-11-2015)

các chỉ mục trong $row của bạn mảng có phân biệt chữ hoa chữ thường vì vậy IDid là một cái gì đó hoàn toàn khác. một sẽ thêm tối đa một undefined index lỗi.

Tôi nhận thấy trong đầu ra của bạn có id khóa thực sự là chữ thường vì vậy tôi sẽ thử thay đổi thành điều đó.

Chúc các bạn thành công!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mã lỗi:1822 khi các kiểu dữ liệu khớp với nhau, với khóa tổng hợp

  2. Gọi đến hàm không xác định mysql_query ()

  3. Khi bạn tự động tạo các tên miền phụ khi người dùng đăng ký, nó có tạo ra một trang web mới hoặc làm xuất hiện một trang web không?

  4. Hiệu suất của mysql GIỮA .. là gì?

  5. Giữ dữ liệu cộng với dữ liệu chỉ mục trong bộ nhớ - InnoDB so với MyISAM