我一直在试图寻找这一点,但我一直寻找解决问题的“MySQL来多维数组的”解决方案使用多维数组数据
我有一个多维数组,我想在MySQL中查找数据使用数组中的值来搜索我的MySQL数据库并输出我需要的任何内容。
我使用WHERE
子句吗? IN
子句?我需要一些帮助
我有这样的数组:
Array
(
[0] => Array
(
[id] => 333
[name] => Watches
[pluralName] => Watches
[shortName] => Watches
)
[16] => Array
(
[id] => 111
[name] => Bar
[pluralName] => Bars
[shortName] => Bar
)
)
如果我有一些语法是这样的:
$categorySet = $dbh->prepare("SELECT c.*,ci.*,b.business_id,b.idbusiness FROM
categories c
JOIN categories_items ci ON ci.idcategory = c.idcategory
JOIN businesses b ON b.idbusiness = ci.id_items
WHERE c.id = :id OR c.name LIKE :name");
$categorySet -> bindParam(:name, $array['id']);
$categorySet -> bindParam(:name, '%'.$array['name'].'%');
$categorySet -> execute();
我喜欢想通过MySQL的搜索,但想从阵列中获得带有手表或棒的输出。
有人可以帮助我吗?
谢谢!
这是否意味着我必须更改我的数组格式?另外,字段由什么组成?我是否像'id,name IN(array(1,2,3,4,5))'那样编写它? – hellomello 2013-02-22 06:47:45
@andrewliu no no no bro ...你需要为每个name和id创建数组,然后使用AND子句...并且我给出了字段的示例,它可以是任何类型。 – 2013-02-22 06:52:23
哦,我看到了,我不认为我想要使用AND子句,我想使用OR。所以它应该看起来像这样? ''''''''''''''''''''WHERE name IN(array(name1,name2,etc ...))OR id IN(array(id1,id2,etc ...));' – hellomello 2013-02-22 06:53:21