<?phpfunction test($sql){
require_once("../../config.php"); $query = sqlsrv_query($conn,$sql);
if( $query === false) {
die( print_r( sqlsrv_errors(), true) );
} $row = sqlsrv_fetch_array($query); echo $row[0];}test("SELECT COUNT(name) FROM tb1 GROUP BY name");
test("SELECT COUNT(name) FROM tb2 GROUP BY name");?>
test("SELECT COUNT(name) FROM tb1 GROUP BY name");
test("SELECT COUNT(name) FROM tb2 GROUP BY name");
调用一个是没问题的,但两个以上就报错了,是为什么呢?functionPHP自定义函数PHP
require_once("../../config.php"); $query = sqlsrv_query($conn,$sql);
if( $query === false) {
die( print_r( sqlsrv_errors(), true) );
} $row = sqlsrv_fetch_array($query); echo $row[0];}test("SELECT COUNT(name) FROM tb1 GROUP BY name");
test("SELECT COUNT(name) FROM tb2 GROUP BY name");?>
test("SELECT COUNT(name) FROM tb1 GROUP BY name");
test("SELECT COUNT(name) FROM tb2 GROUP BY name");
调用一个是没问题的,但两个以上就报错了,是为什么呢?functionPHP自定义函数PHP
require_once("../../config.php"); //已加载就不加载
$query = sqlsrv_query($conn,$sql); //如果不加载(第二次执行时)$conn 不就不存在了吗?
....
}
看看出错信息是否如此另外,清理结果也是必需的,以前我就试过不清理导致两次结果交错混淆了
mysql是mysql_free_result(),你的代码看上去是sqlsever,不太清楚,估计是sqlsrv_free_stmt()
其他数据库一般都有类似函数
谢谢你们!!!在这里还想问个题外题,就是mssql_init这个函数,我把它换成 sqlsrv_init 就不行,是不是没有sqlsrv_init这个函数啊?那应该用哪个函数代替呢?
<?php
require_once("../../config.php");
global $conn;
$conn=$conn;
function test($sql){
global $conn;
$query = sqlsrv_query($conn,$sql);
if( $query === false) {
die( print_r( sqlsrv_errors(), true) );
}
$row = sqlsrv_fetch_array($query);
echo $row[0];
}
test("SELECT COUNT(name) FROM tb1 GROUP BY name");
test("SELECT COUNT(name) FROM tb2 GROUP BY name");
?>
$a = test("SELECT COUNT(name) FROM tb1 GROUP BY name");
$b = test("SELECT COUNT(name) FROM tb2 GROUP BY name");
//为什么我这些写它就直接输出了呢?我想把值存在变量里,再用 echo 来输出。
?>
改为 return $row[0];
<?php
global $conn;
require_once("../../config.php");
function test($sql){
global $conn;
$query = sqlsrv_query($conn,$sql);
if( $query === false) {
die( print_r( sqlsrv_errors(), true) );
}
$row = sqlsrv_fetch_array($query);
echo $row[0];
}
test("SELECT COUNT(name) FROM tb1 GROUP BY name");
test("SELECT COUNT(name) FROM tb2 GROUP BY name");
?>