|
การใช้ PHP กับ Array และ String Separate Comma ไป WHERE IN ใน SQL Query (MySQL / MariaDB) |
การใช้ PHP กับ Array และ String Comma ไป WHERE IN ใน MySQL / MariaDB เห็นกระทู้ Query ของ MySQL ถามมาบ่อยๆ เกี่ยวกับคำสั่ง WHERE IN ข้อมูลชุดที่อยู่ในรูปแบบของ Array หรือ String Comma (,) ซึ่งเทคนิคก็ไม่ได้ยากอะไรมากมาย เราเพียงแปลงให้มันอยู่ในรูปแบบของ String ที่ให้ถูกตาม Syntax ของ MySQL ที่มีการ WHERE แบบ IN
PHP Array and String Separate Comma (,) to WHERE IN
วิธีการเขียน PHP กับ Array และ String ที่เป็น Separate ในรูปแบบของ Comma (,) นำค่าที่ได้ไป WHERE IN ใน MySQL Database และ MariaDB
โครงสร้าของ MySQL และ Data
เราจะลองมา WHERE IN ในส่วนของ CountryCode
Ex 1 : การ WHERE IN จาก Array ซึ่งเป็นตัวแปรของ PHP ที่อยู่ในรูปแบบของ Array
array("TH", "UK");
PHP
<?php
$country = array("TH", "UK");
$strSQL = " SELECT * FROM customer WHERE CountrCode IN ('".implode("','",$country)."') ";
echo $strSQL;
?>
Result
SELECT * FROM customer WHERE CountryCode IN ('TH','UK')
เมื่อนำ Query ไปรันจะได้ Result ดังรูป
Ex 2 : การ WHERE IN จาก String Separate Comma ซึ่งเป็นตัวแปรของ PHP ที่อยู่ในรูปแบบของ String ขั้นด้วย Comma (,)
TH,UK
PHP
<?php
$country = "TH,UK";
$strSQL = " SELECT * FROM customer WHERE CountrCode IN ('".str_replace(",","','",$country)."') ";
echo $strSQL;
?>
Result
SELECT * FROM customer WHERE CountrCode IN ('TH','UK')
เมื่อนำ Query ไปรันจะได้ Result ดังรูป
|
|
|
|
|
|