我在php中使用过程。有两个过程。第一个过程正在调用,但是第二个过程不起作用。当我评论第一个程序时,第二个程序正在工作。
我不知道是否一次调用两个过程。请告诉我路。我是新来的程序。请帮我。
if(isset($_REQUEST['customer'])){
$customer_name = $_POST['customer_name'];
$lang = 'en';
$qry = mysql_query("call customer (NULL,'$customer_name','$lang')")
or mysql_error();//first procedure
$data = mysql_num_rows($qry);
if($data > 0){
$msg ="Customer already exists.";
}
else{
mysql_query("call insertCustomer(NULL,'$customer_name','','','',1,'','','','',@ret,@err_code)")
or mysql_error();//second procedure
$rs = mysql_query('SELECT @p_ret,@p_err_code')or mysql_error();
$data = mysql_fetch_array($rs);
echo $data['@p_err_code'];
echo $data['@p_ret'];
}
}
最佳答案
首先,您不应该使用mysql,而是使用mysqli或PDO-不建议使用mysql,并且将取消对此的支持。
其次,您的问题不是很具体:第二个过程可能根本不被调用,因为if ($data > 0)
返回true,在这种情况下就可以了。
尝试改善代码以进行调试-对mysql_error()的调用是毫无意义的,因为该函数以字符串或空字符串的形式返回错误(如果没有错误),但是您不会将其回显或将其分配给任何变量。将mysql_query(而不是mysqli_query)的结果保存到变量,然后测试其是否有效也将是一件好事。