в бэк-офисе при простом вызове все в порядке, все, что мне нужно сделать, это заполнить соответствующее поле с UID (идентификатор пользователя), но когда я использую вызов AMF, он возвращает ноль
<?php
класс Gotoandlearn
{
публичная функция __construct ()
{
//mysql_connect("server", "username", "password");
//mysql_select_db("database");
}
/**
* Retrieves tutorial data
* @returns title, description, and url
*/
function getTutorials($myId)
{
$servername = "localhost";
$username = "xxx";
$password = "xxx";
$dbname = "xxx";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT Name, Map FROM xxx WHERE Uid=$myId";
// $sql = "SELECT Uid, Name, Map FROM xxx";
$result = $conn->query($sql);
// Check connection
if ($result->num_rows > 0) {
return $result;
} else {
echo false;
}
$conn->close();//return mysql_query("SELECT title, description, url FROM Tutorials");
}
}
?>
С Amfphp вы не можете вернуть ресурс. Лучшая практика — использовать PDO http://php.net/manual/en/book.pdo.php который возвращает объект или массив, который можно отправить обратно.
Вы можете увидеть пример кода здесь https://github.com/silexlabs/amfphp-2.0/blob/master/Examples/Php/ExampleServices/UserService.php
Других решений пока нет …