Ciao a tutti,
ho una query:
codice:
function getStarshipTeam($starship_id) {
global $db;
$q = "SELECT u.nome, u.cognome
FROM users u, user_props
WHERE user_props.starship_id=?
AND user_props.id_user=u.id_user
ORDER BY u.cognome ASC
";
$crew = [];
if($stmt = $this->conn->prepare($q)) {
$stmt->bind_param("i", $starship_id);
$stmt->execute();
$stmt->bind_result($nome, $cognome);
while ($stmt->fetch()) {
array_push($crew, $nome." ".$cognome);
}
}
else {
die('error');
}
return $crew;
}
che in mysql workbench funziona, ma runnata da funzione non va.
non riesco a wrappare l'errore, non ho log di sistema, nulla...
la funzione è un $result di un'altra query che chiama una select (la funzione sopra) tramite loop:
codice:
function starshipList() { $q = "SELECT * FROM starship";
$ss = [];
$starship['starship'] = [];
if($stmt = $this->conn->prepare($q)) {
$stmt->execute();
$stmt->bind_result($ss_id, $ss_name, $ss_logo, $ss_quota, $ss_date, $has_crew);
$starship['status'] = 'ok';
$i = 0;
while ($stmt->fetch()) {
$ss['ss_id'] = $ss_id;
$ss['ss_name'] = $ss_name;
$ss['ss_logo'] = $ss_logo;
$ss['ss_quota'] = $ss_quota;
$ss['ss_date'] = $ss_date;
$ss['crew'] = $this->getStarshipTeam($ss_id); //<-- tacci sua
$i++;
array_push($starship['starship'], $ss);
}
}
else {
$starship['status'] = 'ko';
$starship['error'] = 'qualche problema in hangar';
}
$this->conn->close();
return json_encode($starship);
}
mi aiutate??