如果我这样写,可以查询出数据::$admin_data=$admin->where('username="'.$username.'"')->find();
如果这样写,网页直接"无法显示此网页":$admin_data=$admin->where(array('username'=>$username))->find();
求分析原因。
1、thinkphp版本是3.13。
2、就是测试的代码,不考虑我别的代码干扰。
回复讨论(解决方案)
PHP版本:5.2
机器上装过IIS,前几天被我卸载了。
$arr['username']=>$username;
$admin_data=$admin->where($arr)->find();
试一试
$arr['username'] = $username;
$admin_data=$admin->where($arr)->find();
试一试
<?php
$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了。
还有这种事?