首页 新闻 搜索 专区 学院

PHP类型转换问题

0
悬赏园豆:50 [已解决问题] 解决于 2018-10-29 22:27

$roomidd = $db->getOne("SELECT user FROM jzroom ");//数据库读出来的是
{"87":1,"174":1,"82":1} 这样的,因为后面要进行正则匹配,我怎么把{"87":1,"174":1,"82":1}变成这样 ‘{"87":1,"174":1,"82":1}‘,就是前后加个引号,双引号也可以,谢谢!

码哥子的主页 码哥子 | 初学一级 | 园豆:44
提问于:2018-09-18 02:00
< >
分享
最佳答案
0

json_encode

收获园豆:50
鱼的小步舞曲 | 菜鸟二级 |园豆:254 | 2018-09-18 21:17

谢谢,照您说的用json_encode转型真就解决了。再问个问题,我这代码只查询匹配数据库的符合条件的第一行,如果没匹配上就跳过去了,但数据库下面还有很多行符合条件又能匹配的啊,怎么办呢?
代码是这样的:
$roomInfo = $db->getOne("SELECT user,roomid FROM jz_room WHERE endtime= '0' AND user != 'null' AND user != '[]' ");
$userw = json_encode($roomInfo['user'],true);
$useidd = json_decode($connection->user["id"],true);
$str = $useidd;
if(preg_match ("/$str/",$userw))

{
return tip("你已登录", $connection);
}

码哥子 | 园豆:44 (初学一级) | 2018-09-18 21:37

@码哥子: 首先,我看到的是你写的sql语句不正确,null 应该是is 或者is not判断,不能用!=呦,你可以修改一下,再测试一下呦。我没有测试呦,不知道正确不正确。

鱼的小步舞曲 | 园豆:254 (菜鸟二级) | 2018-09-19 09:38

@码哥子: 那个园豆是这么获得的,刚入园不久,不会弄。

鱼的小步舞曲 | 园豆:254 (菜鸟二级) | 2018-09-19 09:43

@鱼的小步舞曲: 园豆注册就有的啊。
我不知道是不是我写得不规范,但SQL语句可以被执行,整段代码也能正常运行,只是不知道怎么逐行进行查询匹配

码哥子 | 园豆:44 (初学一级) | 2018-09-19 09:50

@码哥子: 从你给的表里面的数据库,应该倒数第4条是符合的,查不出来,要么是数据问题要么是代码问题,你把查询条件减少一点,看一下查询结果,逐步增加查询条件,排查错误。

鱼的小步舞曲 | 园豆:254 (菜鸟二级) | 2018-09-19 10:01

@鱼的小步舞曲: 你也看到问题了,呵呵,现在第3条就被查询出来并进行匹配,但这条并不符合匹配,程序就跳过去了,下面的倒数第四条才是我需要的,但不会被提取出来匹配,怎么逐行进行查询匹配呢?

码哥子 | 园豆:44 (初学一级) | 2018-09-19 10:12

@码哥子: 你只查询endtime=0的数据,应该会看出问题所在

鱼的小步舞曲 | 园豆:254 (菜鸟二级) | 2018-09-19 10:14

@鱼的小步舞曲: 不好意思,那张图是之前的问题贴的图,之前问题解决了,现在才发现不能逐行查询匹配。下图就会出现问题,第三条如果是ID为89的用户进入就会被匹配出来,进不了网站,但如果ID是87的用户就不会被匹配,照样进入网站,这代码只查询第一个符合条件的行

码哥子 | 园豆:44 (初学一级) | 2018-09-19 10:25

@码哥子: 好吧。第一次回帖就遇到这种事。

鱼的小步舞曲 | 园豆:254 (菜鸟二级) | 2018-09-19 10:28

@码哥子: 麻烦关注一下我。

鱼的小步舞曲 | 园豆:254 (菜鸟二级) | 2018-09-19 10:29

@鱼的小步舞曲: 好的,呵呵,有办法进行逐行查询匹配吗?

码哥子 | 园豆:44 (初学一级) | 2018-09-19 10:30

@码哥子: 我可以理解为,一条查询结束后,处理之后,再继续查询第二条数据,直到查询全部。如果是这样的场景,建议增加一个字段,作为查询过和未查询过的判断依据,例如is_used,1或0。这样持续查询就可以实现了,不过这样感觉是画蛇添足,为何不一次全部查询,循环处理呢?

鱼的小步舞曲 | 园豆:254 (菜鸟二级) | 2018-09-19 10:37

@鱼的小步舞曲: 一次全部查询,循环处理,用什么语句来实现呢,我是新手,请多指教!

码哥子 | 园豆:44 (初学一级) | 2018-09-19 10:40
其他回答(1)
0

自己搞定,加个LIKE '%$useidd%'就可以了

码哥子 | 园豆:44 (初学一级) | 2018-09-23 23:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册