Скажите, пожалуйста, как мы можем сделать запрос sql из массива?
This is my code
$myString = "Food,FastFood,Chinese";
$myArray = explode(',', $myString);
print_r($myArray);
Это выводится выше кода:
Array
(
[0] => Food
[1] => FastFood
[2] => Chinese
)
Мой вопрос: как я могу сделать sql-запрос из этого массива в php, как
$sql="Select * from table where FoodCategories=$Food OR FoodCategories=$FastFood OR FoodCategories=$Chinese ";
Пожалуйста, помогите мне.
попробуй это
$string="Food,FastFood,Chinese";
$array=explode(',', $string);
$array = implode("','",$array);
echo $query="Select * from table where FoodCategories IN ('".$array."')";
Вы можете использовать in
Попробуйте следующее
$data = "'".implode("','",$myString)."'";
sql="Select * from table where FoodCategories in($data)";
Попробуйте это с легкостью :)
$myString =array("Food","FastFood","Chinese");
// make them together with ', '
$userStr = implode("', '", $myString );
$query="SELECT * FROM table WHERE FoodCategories in ('$userStr')";
Вы можете создать SQL-выражение с IN-Condition. Проверьте официальный документ от MySQL - MySQL IN-Condition.
EDIT: Это будет ваш новый запрос:
// you first have to implode your array and add quotes for each array item
$string = "'" . implode("','", $myArray) . "'";
// now you can create your new query
$sql = "Select * from table where FoodCategories IN ($string)";
Select * from table where FoodCategories IN ($myString)
даст тот же результат