Ciao a tutti,
ho una query:
che in mysql workbench funziona, ma runnata da funzione non va.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; }
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:
mi aiutate??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); }

Rispondi quotando