加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 无法访问mySQL实现nuSOAP?

发布时间:2021-08-28 03:47:05 所属栏目:大数据 来源: https://www.jb51.cc
导读:这是我进度的更新,仍然会出现类似的错误: 所以基本上我在调用使用MysqLi查询的函数时没有从我的nuSOAP Web服务获得返回数据 我认为这是因为nuSOAP(尚未证明),无论如何这里是nuSOAP的代码: ?PHP// include the SOAP classesrequire_once('nuSOAP/lib/nusoap

这是我进度的更新,仍然会出现类似的错误:

所以基本上我在调用使用MysqLi查询的函数时没有从我的nuSOAP Web服务获得返回数据

我认为这是因为nuSOAP(尚未证明),无论如何这里是nuSOAP的代码:

<?PHP
// include the SOAP classes
require_once('nuSOAP/lib/nusoap.PHP');

$host = 'MysqL13.000webhost.com'; 
$user = 'a8434864_updater'; // MysqL login username
$pass = '***'; // MysqL login password
$database = 'a8434864_lokiupd'; // Database name

$con=MysqLi_connect($host,$user,$pass,$database);

// Check connection
if (MysqLi_connect_errno($con))
  {
  echo "Failed to connect to MysqL: " . MysqLi_connect_error();
  }


function OnlineStatus(){
return true;
}

function GetRegTitle(){
global $con;
$sql = "SELECT app_reg_title FROM a8434864_lokiupd._misc WHERE id = 0";
$result = MysqLi_query($con,$sql); // ERROR LINE 26
if(!$result) {
    die(MysqLi_error($con)); // ERROR LINE 28
}
$row = MysqLi_fetch_row($result);
return $row[0];
}

MysqLi_close($con);


// create the server object
$server = new nusoap_server();

// Initialize WSDL support
$server->configureWSDL('userdatawsdl', 'urn:userdatawsdl');


$server->register('OnlineStatus',       array(), array('result' => 'xsd:boolean'));
$server->register('GetRegTitle',        array(), array('result' => 'xsd:string'));

if (isset($error))
{
    $fault =
            $server->fault('soap:Server','',$error);
}

// send the result as a SOAP response over HTTP $HTTP_RAW_POST_DATA
$post = file_get_contents('PHP://input');
$server->service($post);
?>

从客户端(我使用的客户端不是我的firefox的SOA客户端插件)这是我得到的错误:

PHP Error Message

Warning: MysqLi_query(): Couldn’t fetch MysqLi in
/home/a8434864/public_html/webservice/webservice.PHP on line
26

PHP Error Message

Warning: MysqLi_error() [function.MysqLi-error]: Couldn’t
fetch MysqLi in
/home/a8434864/public_html/webservice/webservice.PHP on line
28

然而,这段代码完美无瑕(它与上面相同,但没有nuSOAP):

<?PHP
$host = 'MysqL13.000webhost.com'; // Host name Normally 'LocalHost'
$user = 'a8434864_updater'; // MysqL login username
$pass = '***'; // MysqL login password
$database = 'a8434864_lokiupd'; // Database name

$con=MysqLi_connect($host,$user,$pass,$database);

// Check connection
if (MysqLi_connect_errno($con))
{
  echo "Failed to connect to MysqL: " . MysqLi_connect_error();
}

function OnlineStatus(){
return true;
}
function GetRegTitle(){
global $con;
$sql = "SELECT app_reg_title FROM _misc WHERE id = 0";
$result = MysqLi_query($con,$sql);
if(!$result) {
    die(MysqLi_error($con)); // TODO: better error handling
}
$row = MysqLi_fetch_row($result);
return $row[0];
}

echo '1:<br>';
print_r(OnlineStatus());
echo '<br>2:<br>';
print_r(GetRegTitle());
MysqLi_close($con);
?>

发生什么事可以帮助我吗?

解决方法:

MysqL_query()将可选的链接标识符作为选项;

resource MysqL_query ( string $query [, resource $link_identifier = NULL ] )

如果未传入链接标识符(并且您没有),它将尝试“猜测”您的连接;

If the link identifier is not specified, the last link opened by MysqL_connect() is assumed. If no such link is found, it will try to create one as if MysqL_connect() was called with no arguments.

换句话说,在后一个示例中,错误消息暗示它无法找到您的连接并隐式尝试为您打开一个新连接.我怀疑它与nuSOAP调用你的方法所使用的回调系统有关,而不是你在前面的例子中直接调用它们.

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读