
正文
php假数据 php数据查询
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php中,if($_POST['pass']==true) {.......},pass是密码域的name,想问$_POST['pass']==true是什么意思?
php的数据类型中有一个数据类型是布尔(bool),该数据类型只有两个值:true(真)和false(假)。
而if($_POST['pass']==true){echo "存在pass这个值";}指的是:在$_POST中存在pass的值,反之如果是这样写if($_POST['pass']==fase){echo"pass不存在";}则是表达在$_POST中没有pass这个值的情况下才执行。
不懂的继续问,以前我自学的时候也是看了半天才懂
相关问答
Q1: 502 bad gateway怎么解决
502 Bad Gateway是一种报错提示php假数据,这一错误并不意味着上游服务器已关闭(无响应网关/代理),而是上游服务器和网关/代理不同意的协议交换数据。
第一种原因php假数据:目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。解决办法:可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的。
第二种原因:在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway
第三种原因:在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
第四种原因:php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300。
第五种原因:磁盘空间不足,如mysql日志占用大量空间。
第六种原因:查看php-cgi进程是否在运行。
另外的解决办法:
Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关。
php-fpm.conf有两个至关重要的参数,一个是max_children,另一个是request_terminate_timeout,但是这个值不是通用的,而是需要自己计算的。
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
计算的方式如下:如果服务器性能足够好,且宽带资源足够充足,PHP脚本没有系循环或BUG的话可以直接将 request_terminate_timeout设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。如果做不到这一点,也就 是说PHP-CGI可能出现某个BUG,或者宽带不够充足或者其他的原因导致PHP-CGI假死那么就建议给 request_terminate_timeout赋一个值,这个值可以根据服务器的性能进行设定。一般来说性能越好可以设置越高,20分钟-30分 钟都可以。
而max_children这个值又是怎么计算出来的呢?这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少。 设置max_children也需要根据服务器的性能进行设定,一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右。
按照官方的答案,排查了相关的可能,并结合了网友的答案,得出了下面的解决办法:
1、查看php fastcgi的进程数(max_children值)代码:netstat -anpo | grep “php-cgi” | wc -l
5(假如显示5)
2、查看当前进程,代码:top观察fastcgi进程数,假如使用的进程数等于或高于5个,说明需要增加(根据机器实际状况而定)
3、调整/usr/local/php/etc/php-fpm.conf 的相关设置
value name=”max_children”10/value
value name=”request_terminate_timeout”60s/value
max_children最多10个进程,按照每个进程20MB内存,最多200MB。
request_terminate_timeout执行的时间为60秒,也就是1分钟。
Q2: php中这个什么意思while($array=mysql_fetch_array($query))
mysql_fetch_array函数会根据$query这个变量(一般是sql语句)去读数据库。如果有数据(也就是为真)执行while循环出数据里的数据,把这些数据赋值给变量$array。直到数据库里没有可以循环的数据(也就是为假)。然后你可以根据你数据库里的字名来显示这些内容。比如你数据库里有一个ID字段
echo $array['ID'] 就可以显示ID的值。。(echo $array['ID'] 要包含在while的大括号里)
希望对你有用
Q3: php中 (Resource id #42)
你用php假数据的肯定是mysql_query(mysql查询语句)
Resource id #42 这是mysql_query函数的资源标识
这是手册原话:
mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。
对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。
非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。很有可能一条查询执行成功php假数据了但并未影响到或并未返回任何行。
我来解释一下原话:
mysql_query函数如果执行的sql语句是:SELECT,SHOW,EXPLAIN 或 DESCRIBE 这几个时候,会返回资料标识符(就是你这个Resource id #42);
对于其php假数据他的SQL语句(例如:DELETE,UPDATE,INSERT,CREATE等),语句出错才会返回假值。但是这个语句没有语法错误,但是执行php假数据了,没有出现效果,它是不会管的。
你可以这么理解,mysql_query函数只是进行了查询。返回只是一个资源标识,还不可以使用。
如果你要显示数据:可以把它读到数组(mysql_fetch_array或者mysql_fetch_assoc())
如果你想知道查询结果行数是多少:可以是用mysql_num_rows
如果你的不是查询语句,直接判断它返回的值是真是假。
附带:php mysql函数网址:
它里面的函数很多。你可以好好看看。
希望采纳
Q4: PHP如何判断接收的是否为图片二进制数据?
该函数图像格式将自动检测php假数据,只要 PHP 支持php假数据:JPEGphp假数据,PNGphp假数据,GIF,WBMP 和 GD2。 返回值php假数据:成功则返回图像资源,如果图像格式不支持,数据不是认可的格式,或者图像已损坏则返回 FALSE如果没有GD库可以使用下边的方法: function check_img_by_source($source) { switch(bin2hex(substr($source,0,2))){ case 'ffd8' : return 'ffd9' === bin2hex(substr($source,-2)); case '8950' : return '6082' === bin2hex(substr($source,-2)); case '4749' : return '003b' === bin2hex(substr($source,-2)); default : return false;}}//测试var_dump(check_img_by_source(file_get_contents('11.gif'));大概是这个样子的吧,只针对了jpg,png,gif做了判断。。想加其他的按照以上规则增加即可。 不过上边这个判断不够严谨,别人可以根据以上判断规则构造一个假数据。
php假数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php数据查询、php假数据的信息别忘了在本站进行查找喔。






