首页 > 代码库 > php中将数据库中time由String改为时间戳
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数据库,发现效率一样低。白忙活半天。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。