在MySQL插入之前更新数组?
问题描述:
我正在通过php://输入接收XML,并且在使用simpleXML将元素分解为变量之后,我想要做的是追加一个数组,或者每隔30秒左右创建一个变量数组。在MySQL插入之前更新数组?
原因是该脚本会越来越定期投入,而不是做MySQL的更新或插入的负荷,我想这可能是效率更好。
所以,如果有人有一个时刻,几个问题。
1)有没有办法检查php://输入的新输入。 2)有没有更好的方法来做这个重复检查比睡眠功能? 3)如何使用这些更新变量追加/添加到数组中?
我还没有走的太远的是,这样的代码是没有用的,但如果你能原谅我简单: -
function input() {
$xml = new SimpleXMLElement($input);
$session_id = $xml->session_id;
$ip = $xml->ip;
$browser = $xml->browser;
store($session_id, $ip, $browser);
}
function store() {
$session_id = array();
$ip = array();
$browser = array();
}
答
如果我理解正确的话,看来你要使用PHP用于长期运行的有状态程序。我相信您知道以下内容: PHP程序的运行时间通常不会超过几毫秒,对于典型的Web应用程序,最多只需几秒钟。每次从PHP处理程序请求资源时,解析都会重新开始,并且不存在以前执行时保留的程序状态。作为一个无国籍的环境,维护国家取决于你。出于这个原因,PHP不会处理随时间变化的输入或维持状态。
这就是说,要追加到一个数组的最简单的方法是follwing:
$myarray[] = "newvalue";
或
$myarray['newkey'] = "newvalue";
要处理的数据流:
while (!feof($handle)){ $data = fgets($handle, 4096); }
很好的回答,我最终以不同的方式做这个......写入文件,然后事件mySQL稍后更新。 – waxical 2009-06-30 10:30:18