PHP操作MS SQL Server数据库(查询、统计与更新)

这篇博客记录了使用PHP对MSSQLServer数据库进行查询、统计和修改的操作,包括从多个表中检索信息以更新资产状态和保管详情,并展示了如何处理没有找到匹配信息的情况。博主分享了代码片段,强调了记录常用代码以提高工作效率的重要性。
摘要由CSDN通过智能技术生成

  今天上午做表格数据的检查与修改,涉及到PHP对MS SQL Server数据表的查询、统计与修改。

  平时我也不记编码和命令,到了用的时候都再查手册,这往往很耗费时间,现在写博客有个好处就是把有用的代码记录下来,下次就直接复制,修改一下就直接用了。

  这样可以省去很多时间。

  下面是检索三个表来更新数据,即主表有信息不全,检索两个其他的信息表进行补录。

<?php
require 'pspLinkConfig.php';//加载数据库

$sql = "select C24 from cwkA2012 where C18=1";
$res1 = $EisConn->prepare($sql);//准备查询语句
$res1->execute();//执行
$count=0;
while( $result=$res1->fetch(PDO::FETCH_ASSOC) ){
	$count=$count+1;
	$ZCBM=$result['C24'];//资产编码
	//获取资产状态
	$sql = "select C20 from AssetsA2012 where C02='$ZCBM'";
	$res2 = $EisConn->query($sql);
	$rows2=$res2->fetchAll(PDO::FETCH_ASSOC);
	if($rows2){
		$ZCZT=$rows2[0]['C20'];//获取资产状态	
	}else{
		$ZCZT='正常★';//获取资产状态	
	}
	//判断是否有保管信息
	$sql = "select count(*) from InUser2012 where C01='$ZCBM'";
	$result3 =$EisConn->query($sql);
	$rows3 = $result3->fetch();
	$rowCount = $rows3[0];	
	if ( $rowCount ) {	
		//获取保管人、保管单位、保管地点
		$sql = "select C03,C04,C06 from InUser2012 where C01='$ZCBM'";
		$res4 = $EisConn->query($sql);
		$rows=$res4->fetchAll(PDO::FETCH_ASSOC);
		$BGR=$rows[0]['C03'];//获取保管人
		$BGDW=$rows[0]['C04'];//获取保管单位
		$BGDD=$rows[0]['C06'];//获取保管地点
		//更新财务资产表
		$ZCBM=trim($ZCBM);
		$Set=" C25='$BGR',C26='$BGDD',C27='$ZCZT' ";
		$sql = "UPDATE cwkA2012 SET $Set WHERE C24='$ZCBM' and C18=1";
		$result = $EisConn->exec($sql);

		try {
			if ( $result>0 ) {
				echo $ZCBM.'===OK'.'<br>';
			}else{
				echo '资产编号:'.$ZCBM.' 更新记录失败!'.'<br>';
			}
		}catch (PDOException $e){
			echo '错误信息:'.$e.getMessage();
		}			
	}
}
echo '完成!';
?>

  检索两个表进行数据检查与修改:

<?php
require 'DawnEisLinkConfig.php';//加载数据库

$sql = "select C24,C23,C25,C26 from cwkAssets where C18=1";
$res1 = $EisConn->prepare($sql);//准备查询语句
$res1->execute();//执行
$count=0;
while( $result=$res1->fetch(PDO::FETCH_ASSOC) ){
	$count=$count+1;
	$ZCBM=$result['C24'];//资产编码
	$newUNit=$result['C24'];//新单位名称
	$BGR=$result['C25'];//保管人
	$BGDD=$result['C26'];//保管地点
	//获取资产状态
	$sql = "select C20 from computerAssetsInfo where C02='$ZCBM'";
	$res2 = $EisConn->query($sql);
	$rows2=$res2->fetchAll(PDO::FETCH_ASSOC);
	if($rows2){
		$ZCZT=$rows2[0]['C20'];//获取资产状态	
	}else{
		$ZCZT='正常★';//获取资产状态	
	}

	if($BGR=='' || $BGR==null || $BGR=="不详" ){
			$BGR="公用";			
	}
	
	//判断是否有保管信息
	$sql = "select count(*) from computerInUserInfo where C01='$ZCBM'";
	$result3 =$EisConn->query($sql);
	$rows3 = $result3->fetch();
	$rowCount = $rows3[0];	

	//更新财务资产表
	$Set=" C25='$BGR',C27='$ZCZT' ";
	$sql = "UPDATE cwkAssets SET $Set WHERE C24='$ZCBM' and C18=1";
	$result = $EisConn->exec($sql);

	try {
		if ( $result>0 ) {
			echo $ZCBM.' OK'.'<br>';
		}else{
			echo '资产编号:'.$ZCBM.' 更新记录失败!'.'<br>';
		}
	}catch (PDOException $e){
		echo '错误信息:'.$e.getMessage();
	}			

}
echo '完成!';
?>

  获取不同的值。

<?php
require 'LinkConfig.php';//加载数据库
$sql = "select distinct C04 from AssetsInfo where C26='计算机'";		
$res = $EisConn->prepare($sql);//准备查询语句
$res->execute();//执行
while( $result=$res->fetch(PDO::FETCH_ASSOC) ){
	echo $result['C04'].'<br>';
}
?>

  获取一个值:

	//判断是否有保管信息
	$sql = "select count(*) from computerInUserInfo where C01='$ZCBM'";
	$result3 =$EisConn->query($sql);
	$rows3 = $result3->fetch();
	$rowCount = $rows3[0];
	if ( $rowCount ) {	
		//获取保管人、保管单位、保管地点
        //......
	}

  真正开始学习PHP也三个多月了,对于PHP的脚本和命令还是不熟,也记不住,都是现拿现用,这样也方便了以后的使用。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值