thinkphp的where条件无法用数组,求分析原因

php中文网
发布: 2016-06-23 13:48:00
原创
1745人浏览过

如果我这样写,可以查询出数据::$admin_data=$admin->where('username="'.$username.'"')->find();
如果这样写,网页直接"无法显示此网页":$admin_data=$admin->where(array('username'=>$username))->find();
求分析原因。
1、thinkphp版本是3.13。
2、就是测试的代码,不考虑我别的代码干扰。

因赛AIGC
因赛AIGC

因赛AIGC解决营销全链路应用场景

因赛AIGC 73
查看详情 因赛AIGC

回复讨论(解决方案)

PHP版本:5.2
机器上装过IIS,前几天被我卸载了。

$arr['username']=>$username;
$admin_data=$admin->where($arr)->find();
试一试

$arr['username'] = $username;
$admin_data=$admin->where($arr)->find();
试一试

$ar="username='yourname'";
echo is_array($ar);

第一个传进去的并非是array,只是个字符串

$arr['username'] = $username;
$admin_data=$admin->where($arr)->find();
试一试


还是不行。

第一个传进去的并非是array,只是个字符串


可能我没表达清楚,我的意思是where里,用字符串形式查询时正常的,用数组形式就会“无法显示此网页”

看一下find()方法里面接收的参数是什么??

你看下username字段的类型是什么

查看 thinkPHP运行记录  看看是哪里错了,或者 从新建立一个PHP文件 重新手动输入一次。 有些错误很蛋疼的,

$admin_data=$admin->query("select * from hao_admin");
$admin_data=$admin->where(array('username'=>$username))->find();

第一种查询 正常有数据。
第二种查询 直接"该页无法显示"。

查看apache错误日志:
PHP Warning:  Directive 'register_globals' is no longer supported in PHP 6 and greater in Unknown on line 0
PHP Warning:  Directive 'register_long_arrays' is no longer supported in PHP 6 and greater in Unknown on line 0
PHP Warning:  Directive 'magic_quotes_gpc' is no longer supported in PHP 6 and greater in Unknown on line 0
之前有看过日志,但是对这些错误没太注意。

通过phpinfo()看到PHP版本是PHP6.0.0。重装了PHP5.2.6之后,OK了。

还有这种事?

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号