- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Non mi funziona la connessione/query mysqli. Ma perché?
-
Non mi funziona la connessione/query mysqli. Ma perché?
Ciao a tutti, vado subito al sodo. Ho una index.php con un form del tipo Marca -> Modello. Alla selezione di una marca, la select Modello mi propone dei valori. Per visualizzare le varie marche uso la funzione ShowMarche(). Una volta selezionata la marca, una funzione Javascript va a richiamare il metodo ShowModelli(). Tutto funzioni, ma la query in ShowModelli() non viene eseguita e non riesco a capire il motivo!
Va in die! Mi mostra la query sql correttamente, quindi non c'è un errore nel passaggio del parametro o altro, ma va in die. Mi sapete dire il perché? Sto impazzendo!!
<?php class Option{ public function ShowMarche(){ $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); echo '<select class="form-control" id="sel_marche" name="sel_marche"><option value="no">Scegli...</option>'; $query = "SELECT * FROM marche"; if(!$result = $mysqli->query($query)){ die("<script type='text/javascript'>alert('PROBLEMA');</script>"); } while($row = $result->fetch_array()) echo '<option value="' . $row['id'] . '">' . $row['nome'] . '</option>'; echo '</select>'; $result->free(); $mysqli->close(); } public function ShowModelli(){ $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); $id_marche = $_POST['id_marche']; $query = "SELECT * FROM modelli WHERE id_marca=$id_marche"; if(!$result = $mysqli->query($query)){ die("<script type='text/javascript'>alert('$query');</script>"); } echo'<option value="no">Scegli...</option>'; while($row = $result->fetch_array()) echo '<option value="' . $row['id'] . '">' . $row['nome'] . '</option>'; $result->free(); $mysqli->close(); } public function ShowClub(){ $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); $query = "SELECT * FROM club"; $result = $mysqli->query($query); while($row = $result->fetch_array()) echo '<option value="' . $row['id'] . '">' . $row['nome'] . '</option>'; $result->free(); $mysqli->close(); } } ?>