php无法访问mysql,php – 无法访问mySQL实现nuSOAP?

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

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

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

// 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):

$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:
';

print_r(OnlineStatus());

echo '
2:
';

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调用你的方法所使用的回调系统有关,而不是你在前面的例子中直接调用它们.

标签:php,mysql,web-services,nusoap,mysql-connect

来源: https://codeday.me/bug/20190629/1326003.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值