php根据请求参数ODBC动态连接SQL Server2008R2
使用场景:
1.要使用php连接SQL Server2008R2
2.要根据传入的参数来动态的切换数据库
<?php //查询sql Server所有的数据库名 //SELECT Name FROM Master..SysDatabases //master $strcaid = null; if(isset($_GET['strcaid'])){ $strcaid = $_GET['strcaid']; }else if(isset($_POST['strcaid'])){ $strcaid = $_POST['strcaid']; }else{ echo "请在请求中加入strcaid"; exit(0); } if(!preg_match("/[0-9]{4}/", $strcaid)){ echo "请输入格式正确的strcaid"; exit(0); } $dsn = "Driver={SQL Server};Server=(local);Database="; $dbName = "master"; $conn = odbc_connect($dsn.$dbName, "sa", "123456") or die("Connection failed!"); $sql = "SELECT Name FROM Master..SysDatabases"; $ServerDBNames = odbc_do($conn, $sql); $dbName = null; //遍历所有数据库名 while (odbc_fetch_row($ServerDBNames)){ $Name=odbc_result($ServerDBNames,"Name"); //把strcaid在每一个数据库名中查找 if(strpos($Name, $strcaid) > 0){ $dbName = $Name; } } //判断strcaid是否输入正确 if($dbName === null){ echo "没有找到这个数据库,请查看id是否输入正确!!"; exit(0); } $conn = odbc_connect($dsn.$dbName, "sa", "123456") or die("Connection failed!"); ?>