我是一名Java程序员,他必须为应用程序创建一个php Web服务,因为我正在创建的应用程序必须与服务器上的MYSQL数据库进行通信。 现在,作为一名Java程序员,我用它来创建存储过程并从我的Java代码中调用它们。我尝试用PHP,似乎我有一些问题。 我试图一个接一个地调用2个存储过程。这是执行该操作的PHP代码:
require_once '../commonFunctions.php';
global $connect;
$usersOnQuestion = executeProcedure("getUsersOnQuestion", array($questionID));
mysqli_store_result($connect);
while($r = mysql_fetch_assoc($usersOnQuestion)) {
//processing the data
//...
//echo "Hello!";
//..
}
mysqli_next_result($connect);
executeProcedure("removeCurrentUser", array($userID));
“commonFunctions.php”如下所示:
<?php
$connect = @mysqli_connect($mySql_host, $mySql_uname, $mySql_pass) or die("conn error");
mysqli_select_db($connect, $mySqlBase);
function executeProcedure($procedureName, $params) {
global $connect;
$paramsString = "";
$paramsString = $paramsString."(";
foreach ($params as $param) {
if($paramsString !== "(")
$paramsString = $paramsString.",";
$paramsString = $paramsString."'".prepareParam($param)."'";
}
$paramsString = $paramsString.")";
$rez = mysqli_query($connect, "CALL ".$procedureName.$paramsString) or die (mysql_error());
return $rez;
}
function executeProcedure1($procedureName) {
return executeProcedure($procedureName, array());
}
function prepareParam($param) {
global $connect;
return mysqli_real_escape_string($connect, $param);
}
?>
正如您所料,起初我开始收到一些“调用不同步”错误消息,然后我花了几个小时阅读“next_result()”,“store_result()”等,并提出了我提交的代码你 - 还是什么都没有!
两个程序都已执行。使用“print_r”我验证“$ usersOnQuestion”包含一些数据,但“while”循环永远不会被执行。 为什么?我做错了什么?
请你帮我解决这个问题(因为我没有使用PHP编程的xp),或者更好地指出一些现成的php lib,它可以在没有“锅炉板”代码的情况下使用db吗?