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

Truy vấn MySQL sử dụng một mảng

Truy vấn thứ hai nên sử dụng $thelist không phải $row và nó phải nằm ngoài while vòng. foreach vòng lặp là không cần thiết khi xử lý một hàng. Bạn có thể truy cập tên trong $row với một $row[0] đơn giản . Một cái gì đó như thế này (chưa được kiểm tra):

$query1 = "SELECT name FROM clients WHERE sector = '$sectorlink'";
$clientresult = mysql_query($query1, $connection) or trigger_error("SQL", E_USER_ERROR);

while($row = mysql_fetch_array($clientresult)){
    $temp[] = '"'.$row[0].'"';
}

$thelist = implode(",",$temp);
$query = "SELECT count(*) FROM studies WHERE client IN ($thelist) ORDER BY (date) desc";
$result = mysql_query($query, $connection) or trigger_error("SQL", E_USER_ERROR);

Thận trọng: Xin lưu ý rằng mã của bạn rất dễ bị tấn công chèn SQL . Nó tốt cho việc thử nghiệm hoặc phát triển nội bộ nhưng nếu mã này đang chạy trên trang web Fort Knox, bạn sẽ muốn sửa nó một chút. Chỉ là một FYI. :-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CHỌN id CÓ số lượng tối đa của id

  2. ProgrammingError:Các đối tượng SQLite được tạo trong một luồng chỉ có thể được sử dụng trong cùng một luồng đó

  3. liệt kê tất cả các bảng trong cơ sở dữ liệu với MySQLi

  4. MySQL Chỉ chọn một hàng từ mỗi bệnh nhân được chẩn đoán theo ngày đầu tiên

  5. Phát hiện nếu giá trị là số trong MySQL