Преобразование массива в строку в nuSoap - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь получить список данных из моей базы данных с помощью веб-службы NuSoap.

Но при выполнении я получаю это сообщение об ошибке:

Notice:  Array to string conversion in C:\wamp64\www\gcm\database.php on line 105
PHP Warning:  mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\wamp64\www\gcm\database.php on line 112

Я протестировалфункция ниже на веб-странице, и я получаю результат (таблица массива):

Array ([0] => Array ([titre] => list des docs [dateHeure] => 2018-04-16 [подробно] => привет))

Это моя функция:

function getHistoriqueNotification(){
$com = new DbConnect();
$message=array();
$sql = "select alr_alertes.TITRE,alr_alertes.PHOTO,alr_historiques.DETAIL,alr_historiques.DATEHEURE,alr_alertes.CODE from alr_alertes,alr_historiques WHERE alr_alertes.ALRT_UID=alr_historiques.ALRT_UID" ;
$result = mysqli_query($com->getDb(),$sql);
while($row=mysqli_fetch_assoc($result)){
  $message[] = array(

      'titre'     =>$row['TITRE'], 
      'dateHeure' =>$row['DATEHEURE'],
      'detail'    =>$row['DETAIL'],
      'code'      =>$row['CODE']
    );
}
return ($message);
}

Реализация моего веб-сервиса:

<?php
// Pull in the NuSOAP code
require_once('lib/nusoap.php');
 require_once 'config.php';
require_once 'database.php';
// Create the server instance
$server = new soap_server();
$server->configureWSDL('Myservice_wsdl', 'urn:Myservice_wsdl');
$server->soap_defencoding = 'UTF-8';

$server->wsdl->addComplexType('Notifications',
    'complexType',
    'struct',
    'all',
    '',
    array(
            'titre' => array('name' => 'titre', 'type' => 'xsd:string'),
            'dateHeure' => array('name' => 'dateHeure', 'type' => 'xsd:date'),
            'detail' => array('name' => 'detail', 'type' => 'xsd:string'),
            'code' => array('name' => 'code' , 'type' => 'xsd:string')
)
);
$server->wsdl->addComplexType('notificationArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
            array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Notifications[]')
    ),
'tns:Notifications'
);
$server->register('getHistoriqueNotification',
                        array(),
                        array('result' =>'tns:notificationArray'),
                          'urn:MyService_wsdl',
                        'urn:MyService_wsdl#getHistoriqueNotification',
                        'rpc',
                        'encoded',
                        'Some comments about function 1'


                      );
 $server->service(file_get_contents("php://input"));

        ?>

1 Ответ

0 голосов

Я думаю, что ваша библиотека DbConnect не работает.Он возвращает что-то неправильное, как мы видим:

Notice:  Array to string conversion in C:\wamp64\www\gcm\database.php on line 105

и затем mysqli_query получает false в $ sql вместо mysqli_result

...