私のmysql行に配列があるとしましょう:
a:3:{i:1;a:3:{i:0;s:1:"1";i:1;s:1:"3";i:2;s:1:"5";}i:4;a:3:{i:0;s:2:"21";i:1;s:2:"25";i:2;s:2:"29";}i:5;a:1:{i:0;s:2:"33";}}
次のようになります。
Array
(
[1] => Array
(
[0] => 1
[1] => 3
[2] => 5
)
[4] => Array
(
[0] => 21
[1] => 25
[2] => 29
)
[5] => Array
(
[0] => 33
)
)
今、私は _GET を介して配列を渡しています。mysql と渡された配列の両方に同じ値を含むすべての行を出力したいと考えています。たとえば、この配列を渡すと:
Array
(
[1] => Array
(
[0] => 5
)
)
渡された配列にオプション 5 が含まれているため、結果が表示されるはずです。次のようにしようとしました。
$pecul = serialize($array);
$q=mysql_query("SELECT id from table WHERE options like '%$pecul%'")or die(mysql_error());
ただし、同一の配列でのみ結果を出力します。