最后一点分数寻找一个问题答案, 我在数据库中存储一个数组,假设为(4,3,24,7,13,32)在页面我POST得到一个数目3,想寻找和这个3相同的数字,存在为1,不存在为0。比如这个例子,就存在一个3。这样的如何写SQL呢。分少了点。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SELECT * FROM tablename WHERE field REGEXP "[[:<:]]3[[:>:]]" select * from table where field like '%3%' SELECT * FROM 表名 WHERE 表项=%3% select * from tbl_name where SELECT FIND_IN_SET('3', field_name) 你应该先说明一下你的这个字段是什么类型的?varchar?set? 菜鸟也说2点思路,1,如果数据类型为set,那么就用5楼的方法2,如果数据类型为其他,那么就先获取数据库的记录,然后将得到的3和记录中获取到的数组做比对 <?php// 数组$g_ArrDb = Array( 4, 3, 24, 7, 13, 32 );// 1, 序列化之后保存到数据库,结果是:// "a:6:{i:0;i:4;i:1;i:3;i:2;i:24;i:3;i:7;i:4;i:13;i:5;i:32;}"// 根据分析这种存储方式不变查找,因为 i:3 你不知道是数组的索引还是值// 所以放弃这种存储办法$g_sDbStr = serialize( $g_ArrDb );// 2, 字符串拼接// 存储的字符串类似:",4,3,24,7,13,32,"// 注意:整个字符串的前后都有分割字符 ","// 这样就很好找了$sql = "SELECT * FROM TABLE_NAME WHERE SOMEFIELD LIKE '%,3,%'";//// 这样存储与查找就搞定,我经常这么用//?> SELECT * FROM TABLE_NAME WHERE SOMEFIELD LIKE '%,3,%' 关于PHP乱码问题 html5的离线储存可否用在php上? php4的数组里有自创类的元素,如何对其进行更改?谢谢 php搜索怎么做? 哈,今天发现了一个攻击途径,不知道算不算,大伙儿各抒己见哈 网站技术文档 数组元素是类的对象,每个元素赋不同的值,为何调用该数组时,每个元素的组都成为最后一个元素的值了?? 虚拟主机,还有可以相信的吗? 用php进行rsa加密解密,怎么做? 我的session怎么不好用呢? highlight_string最后的输出结果有个1 php中没有表单,通过一个ID链接到了后一个页面,请问如何后一个页面取得前一个页面的链接时的ID值?
1,如果数据类型为set,那么就用5楼的方法
2,如果数据类型为其他,那么就先获取数据库的记录,然后将得到的3和记录中获取到的数组做比对
<?php// 数组
$g_ArrDb = Array( 4, 3, 24, 7, 13, 32 );// 1, 序列化之后保存到数据库,结果是:
// "a:6:{i:0;i:4;i:1;i:3;i:2;i:24;i:3;i:7;i:4;i:13;i:5;i:32;}"
// 根据分析这种存储方式不变查找,因为 i:3 你不知道是数组的索引还是值
// 所以放弃这种存储办法
$g_sDbStr = serialize( $g_ArrDb );// 2, 字符串拼接
// 存储的字符串类似:",4,3,24,7,13,32,"
// 注意:整个字符串的前后都有分割字符 ","
// 这样就很好找了
$sql = "SELECT * FROM TABLE_NAME WHERE SOMEFIELD LIKE '%,3,%'";//
// 这样存储与查找就搞定,我经常这么用
//
?>