我需要调用两个在 MySQL 中创建并在 PHP 文件中返回记录的过程。我不能一个接一个地调用一个程序。如果我在另一个过程之后调用一个过程(从单个 PHP 页面),第二个过程将不会返回任何记录。
即使我select
在一个过程(返回记录)之后执行一个返回记录的语句,也意味着select
语句不会返回任何值。为什么会这样?我们如何在一个 PHP 页面中一个接一个地调用两个过程?
嗨,我在这里添加我的代码...
model.php 文件内容
<?php
class DBoperation {
function connect(){
$this->con=mysql_connect('localhost','root','');
mysql_select_db('test',$this->con);
}
function call proc2($empcode){
$this->sql="call proc1('$empcode',@strGrpId,@strTodate,@strAccPrTodt,@strRecalculate)";
}
function callproc2($strEmpCode){
$this->sql="call proc2('$strEmpCode',@a,@b,@c,@d,@e,@f)";
}
function execute(){
$res = mysql_query($this->sql);
return $res;
}
}
?>
view.php 文件内容
<?php
require_once('../../model/model.php');
$empcode = $_SESSION['empcode'];
$obj=new DBoperation();
$obj->connect();
//calling first procedure
$obj->callproc1($empcode);
$res = $obj->execute();
while($result=mysql_fetch_array($res)) {
echo $result[0];
}
//calling second procedure
$obj->callproc2($empcode);
$fetch=$obj->execute();
while($fetch1=mysql_fetch_array($fetch)){
echo $fetch1[0];
}
?>
第二个过程不返回任何内容。如果我在第二个过程之后执行任何选择查询,我也不会返回任何内容。