php中将数据库中time由String改为时间戳
1 <?php 2 3 $serverName = "localhost"; //数据库服务器地址 4 5 $uid = "sa"; //数据库用户名 6 7 $pwd = "hwwlovejsy1314"; //数据库密码 8 9 $connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"LocationAnalysisDatabase"); 10 11 $conn = sqlsrv_connect( $serverName, $connectionInfo); 12 13 if( $conn == false){ 14 15 echo "连接失败!"; 16 17 die( print_r( sqlsrv_errors(), true)); } 18 19 //执行有结果集的SQL语句 20 21 $query = sqlsrv_query($conn, "select * from user_timeline_new"); 22 23 $count = 1;//用count变量来控制每次更改的数量 24 25 while($row = sqlsrv_fetch_array($query)) 26 27 { 28 29 if($count<=274245) 30 31 { sqlsrv_query($conn,"update user_timeline_new set time = ‘".strtotime($row[‘time‘])."‘ where uid = ‘".$row[‘uid‘]."‘ and time = ‘".$row[‘time‘]."‘"); 32 33 $count++; 34 35 }else{ break; } 36 37 } ?> 38
这个程序主要问题是运行的时间过长,往往会遇到:Maximum execution time of 30 seconds
exceeded的问题,这个只要修改PHP.INI中max_execution_time
将后面的值调大,然后重新启动APACHE服务,就OK了。
刚开始用的是sqlsrv直接修改SqlServer2008中表,效率过低,然后试着用MySQL数据库,发现效率一样低。白忙活半天。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。