
正文
php数据分析报告 php数据查询
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PHP PDOStatement:bindParam插入数据错误问题分析
废话不多说,
直接看代码:
复制代码
代码如下:
?php
$dbh
=
new
PDO('mysql:host=localhost;dbname=test',
"test");
$query
=
QUERY
INSERT
INTO
`user`
(`username`,
`password`)
VALUES
(:username,
:password);
QUERY;
$statement
=
$dbh-prepare($query);
$bind_params
=
array(':username'
=
"laruence",
':password'
=
"weibo");
foreach(
$bind_params
as
$key
=
$value
){
$statement-bindParam($key,
$value);
}
$statement-execute();
请问,
最终执行的SQL语句是什么,
上面的代码是否有什么问题?
Okey,
我想大部分同学会认为,
最终执行的SQL是:
INSERT
INTO
`user`
(`username`,
`password`)
VALUES
("laruence",
"weibo");
但是,
可惜的是,
你错了,
最终执行的SQL是:
INSERT
INTO
`user`
(`username`,
`password`)
VALUES
("weibo",
"weibo");
是不是很大的一个坑呢?
这个问题,
来自今天的一个Bug报告:
#63281
究其原因,
也就是bindParam和bindValue的不同之处,
bindParam要求第二个参数是一个引用变量(reference).
让我们把上面的代码的foreach拆开,
也就是这个foreach:
复制代码
代码如下:
?php
foreach(
$bind_params
as
$key
=
$value
){
$statement-bindParam($key,
$value);
}
相当于:
复制代码
代码如下:
?php
//第一次循环
$value
=
$bind_params[":username"];
$statement-bindParam(":username",
$value);
//此时,
:username是对$value变量的引用
//第二次循环
$value
=
$bind_params[":password"];
//oops!
$value被覆盖成了:password的值
$statement-bindParam(":password",
$value);
所以,
在使用bindParam的时候,
尤其要注意和foreach联合使用的这个陷阱.
那么正确的作法呢?
1.
不要使用foreach,
而是手动赋值
复制代码
代码如下:
?php
$statement-bindParam(":username",
$bind_params[":username"]);
//$value是引用变量了
$statement-bindParam(":password",
$bind_params[":password"]);
2.
使用bindValue代替bindParam,
或者直接在execute中传递整个参数数组.
3.
使用foreach和reference(不推荐)
复制代码
代码如下:
?php
foreach(
$bind_params
as
$key
=
$value
)
{
//注意这里
$statement-bindParam($key,
$value);
}
最后,
展开了说,
对于要求参数是引用,
并且有滞后处理的函数,
都要在使用foreach的时候,
谨慎!
相关问答
Q1: php数据分析
这个问题其实简单,你可以在foreach外先设置一个空数组,作用是把2016-11-29作为键 出现的次数作为value存储起来, 代码
$tmpArr = array();
foreach($ips as $key = $value)
{
$tmpArr[explode('_',$key)[0]] ++;
}
foreach($tmpArr as $key = $tmp)
{
echo $key." ".$tmp."br";
}
但是具体的数据结构要根据你自己情况来定。
Q2: php是怎样实现淘宝卖家平台中,数据的分析的呢?
这个 可以通过jquery 插件进行绘图。
这个是我找到的一个、
现在中文解释比较多了、
你百度搜索一下 jquery 折线图, 好多好多。。 而且都是能用 的、、
Q3: 怎么写网站运营数据分析报告呢
网站访问统计分析的作用可归纳为下列几个方面:
(1)及时掌握网站推广的效果,减少盲目性;
(2)分析各种网站运营手段的效果,为制定和修正网站运营策略提供依据;
(3)通过网站访问数据分析进行网站运营诊断,包括对各项网站推广活动的效果分析、网站优化状况诊断等;
(4)了解用户访问网站的行为,为更好地满足用户需求提供支持;
(5)作为网站运营效果评价的参考指标。
统计分析指标
通常说的网站流量(traffic)是指网站的访问量,是用来描述访问一个网站的用户数量以及用户所浏览的网页数量等指标,常用的统计指标包括网站的独立用户数量、总用户数量(含重复访问者)、网页浏览数量、每个用户的页面浏览数量、用户在网站的平均停留时间等。
网站访问统计分析的基础是获取网站流量的基本数据,根据网上营销新观察的相关文章,网站流量统计指标大致可以分为三类,每类包含若干数量的统计指标。
(1)网站流量指标
网站流量统计指标常用来对网站效果进行评价,主要指标包括:
独立访问者数量(unique visitors);
重复访问者数量(repeat visitors);
页面浏览数(page views);
每个访问者的页面浏览数(Page Views per user);
某些具体文件/页面的统计指标,如页面显示次数、文件下载次数等。
(2)用户行为指标
用户行为指标主要反映用户是如何来到网站的、在网站上停留了多长时间、访问了那些页面等,主要的统计指标包括:
用户在网站的停留时间;
用户来源网站(也叫“引导网站”);
用户所使用的搜索引擎及其关键词;
在不同时段的用户访问量情况等。
(3)用户浏览网站的方式 时间 设备、浏览器名称和版本、操作系统
用户浏览网站的方式相关统计指标主要包括:
用户上网设备类型;
用户浏览器的名称和版本;
访问者电脑分辨率显示模式;
用户所使用的操作系统名称和版本;
用户所在地理区域分布状况等。
PHPStat的网站访问分析报告的基础是以上述网站流量基本指标,同时参考了其他第三方的统计数据,以便获得更深入的网站访问统计分析报告。
php数据分析报告的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php数据查询、php数据分析报告的信息别忘了在本站进行查找喔。






