php 怎么POST获取数据?方法1、最常见的方法是php读取数据的方式:$_POST['fieldname'];
说明php读取数据的方式:只能接收Content-Type:
application/x-www-form-urlencoded提交的数据
解释:也就是表单POST过来的数据
方法2、file_get_contents("php://input");
说明:
允许读取
POST
的
原始数据
。
和
$HTTP_RAW_POST_DATA
比起来php读取数据的方式,它给内存带来的压力较小php读取数据的方式,并且不需要任何特殊的
php.ini
设置 。
php://input
不能用于
enctype="multipart/form-data" 。
解释:
对于未指定
Content-Type
的POST数据php读取数据的方式,则可以使用file_get_contents(“php://input”);来获取原始数据 。
事实上,用PHP接收POST的任何数据都可以使用本方法 。而不用考虑Content-Type,包括
二进制文件
流也可以 。
所以用方法二是最保险的方法
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
说明:
总是产生
$HTTP_RAW_POST_DATA
变量包含有原始的
POST
数据 。
此变量仅在碰到未识别
MIME
类型的数据时产生 。
$HTTP_RAW_POST_DATA
对于
enctype="multipart/form-data"
表单数据不可用
如果post过来的数据不是PHP能够识别的 , 可以用
$GLOBALS['HTTP_RAW_POST_DATA']来接收,
比如
text/xml
或者
soap
等等
解释:
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST过来的原始数据 。
$_POST或
$_REQUEST
存放的是
PHP以key=value的形式格式化以后的数据 。
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST过来的数据取决于centent-Type的设置,即POST数据时
必须显式示指明Content-Type:
application/x-www-form-urlencoded,POST的数据才会存放到
$GLOBALS['HTTP_RAW_POST_DATA']中
PHP如何读取MySQL数据?PHP读取MySQL数据有如下方法:
方法一:
?
$rs = mysql_query($q, $dbh);
while($row = mysql_fetch_array($rs)) echo "$row[id] $row[name] br /";
/* id和name可以换位置 */
@mysql_close($dbh);
/* 关闭到mysql数据库的连接 */
?
方法二:
?
$rs = mysql_query($q, $dbh);
while($row = mysql_fetch_object($rs)) echo "$row-id $row-name br /";
/* id和name可以换位置 */
?
方法三:
?
$rs = mysql_query($q, $dbh);
/* 定义变量 rs ,函数mysql_query()的意思是:送出 query 字串供 MySQL 做相关的处理或者执行.由于php是从右往左执行的
,所以,rs的值是服务器运行mysql_query()函数后返回的值 */
if(!$rs){die("Valid result!");}
echo "table";
echo "trtdID/tdtdName/td/tr";
while($row = mysql_fetch_row($rs)) echo "trtd$row[0]/tdtd$row[1]/td/tr";
/* 定义量变(数组)row,并利用while循环,把数据一一写出来.
函数mysql_fetch_row()的意思是:将查询结果$rs单列拆到阵列变数中.
$row[0] 和 $row[1] 的位置可以换*/
echo "/table";
?
总结:方法一是效率最高的,推荐日常使用 。
php读取数据库信息的几种方法连接到一个 url 地址为localhost 、 端口为 3306 的mysql服务器上 。mysql服务器的帐号是"root" , 密码是"9999" 。mysql 服务器上有一个数据库 ok , 数据库里有一个表 abc 。表 abc 一共为两列,列名分别是 "id" 和 "name",将 abc 里的所有数据读出来 。
?
$dbh = @mysql_connect("localhost:3306","root","9999");
/* 定义变量dbh , mysql_connect()函数的意思是连接mysql数据库, "@"的意思是屏蔽报错 */
if(!$dbh){die("error");}
/* die()函数的意思是将括号里的字串送到浏览器并中断PHP程式 (Script) 。括号里的参数为欲送出的字串 。*/
- redis的热点数据缓存 redis热点数据切换
- redis缓存失效怎么办 redis缓存数据不一致
- mongodb 更新子文档 mongodb数据文件无法新建
- mongodb查看数据库大小 查看mongodb集群容量
- mysql数据统计方案
- mysql创建数据表时指定字符集 mysql有符号创建
- 纯phpmysql
- mysql数据库优化 mysql订单优化
- 查找php.ini phpredis查找
- redis哨兵模式数据不一致 redis为什么叫哨兵
