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

Sử dụng một biến PHP trước một truy vấn MYSQL

Bên cạnh khuyến nghị phổ biến về việc không sử dụng các hàm mysql_ *,
bạn cần đảm bảo rằng bạn không có bất kỳ khoảng trắng nào trong các phần tử mảng của mình.

Dưới đây là một số mã ví dụ để xóa và gỡ lỗi truy vấn ở mỗi bước.

<?php

$elements = array('  element A', "\t Element B \r\n");

var_dump($elements);

/*
use var_dump to check your array elements for whitespace and such
array(2) {
  [0]=>
  string(11) "  element A"
  [1]=>
  string(14) "   Element B
"
}
*/

// create your IN clause string and verify it
$joinedString = "('" . join("','",array_map('trim',$elements)) . "')";

var_dump($joinedString);
/*
use var_dump not echo
string(25) "('element A','Element B')"

*/

// your query string finally becomes
$query = "SELECT * FROM smoelenboek 
WHERE sectie1 IN $joinedString 
OR sectie2 IN $joinedString 
OR sectie3 IN $joinedString 
OR sectie4 IN $joinedString 
OR sectie5 IN $joinedString 
AND actief='ja' ORDER BY achternaam ASC";

// and check it with var_dump and also run it in PhpMyAdmin
var_dump($query);
/*
string(280) "SELECT * FROM smoelenboek
WHERE sectie1 IN ('element A','Element B')
OR sectie2 IN ('element A','Element B')
OR sectie3 IN ('element A','Element B')
OR sectie4 IN ('element A','Element B')
OR sectie5 IN ('element A','Element B')
AND actief='ja' ORDER BY achternaam ASC"
*/


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sử dụng lõi AspNet.Identity trong cơ sở dữ liệu Sql của tôi

  2. Truy vấn Django trong mối quan hệ Một đến Nhiều

  3. Làm thế nào và khi nào sử dụng SLEEP () đúng cách trong MySQL?

  4. Loại tiền điện tử MySQL Datatypes?

  5. php mysql - tôi có nên thêm tên danh mục trường vào bảng hay không?