我在php中使用以下代码来运行存储过程以从数据库返回记录。
public function MelHpdlSql02($database)
{
$connection = mssql_connect("SQL-02", "user", "test");
$db = mssql_select_db($database);
return $connection;
}
public function getRoleRecords()
{
$this->MelHpdlSql02("Staff");
$version = mssql_query("EXEC app_role_select");
$row = mssql_fetch_array($version);
var_dump($row);die;
}
这只是从数据库中返回1条记录(当我手动运行存储过程时,假设有10条记录返回)
有谁知道我的代码出了什么问题吗?您的代码有错误,请检查下面的代码。
public function MelHpdlSql02($database)
{
$connection = mssql_connect("SQL-02", "user", "test");
$db = mssql_select_db($database);
return $connection;
}
public function getRoleRecords()
{
$this->MelHpdlSql02("Staff");
$version = mssql_query("EXEC app_role_select");
while($row = mssql_fetch_array($version))
{
var_dump($row);
}
}
我的意思是,当你使用你的函数时:
public function getRoleRecords()
{
$this->MelHpdlSql02("Staff");
$version = mssql_query("EXEC app_role_select");
$row = mssql_fetch_array($version);
var_dump($row);die;
}
你只获取第一个结果,你需要在那里循环,比如:
public function getRoleRecords()
{
$this->MelHpdlSql02("Staff");
$version = mssql_query("EXEC app_role_select");
while($row = mssql_fetch_array($version))
{
// do anything while looping among values
}
}