Ciao a tutti... mi dareste una manina con questo scriptino?
Premetto che per tutto il sito uso la notazione ad oggetti, vorrei uniformarlo...
Ricevuti in input get un ID e una TABELLA, tira fuori un array ripetuto....codice:<?php require 'dbconfig.php'; $conn = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die; mysql_select_db(DB_NAME) or die; //I valori in input vanno verificati //id deve essere un valore numerico $pid = (int)$_REQUEST['id']; //maschera eventuali caratteri speciali in table $tb = mysql_real_escape_string($_REQUEST['table'], $conn); switch($tb) { case 'regioni': $sql="SELECT id, regione FROM `$tb` ORDER BY regione"; break; case 'province': //$sql="SELECT id, provincia FROM `$tb` WHERE id_regione=$pid ORDER BY provincia"; $sql="SELECT codice, provincia FROM `$tb` WHERE id_regione=$pid ORDER BY provincia"; break; case 'comuni': $sql="SELECT id, comune FROM `$tb` WHERE id_provincia = $pid ORDER BY comune"; } //Il primo elemento della risposta è il nome della tabella (= attributo ID del tag select) $out="$tb;"; if($result = mysql_query($sql, $conn)) { while ($row = mysql_fetch_row($result)) { $out .= $row[0] . '|' . $row[1] . ';'; } } //Rimuove il carattere ; in coda echo rtrim($out, ';'); ?>
Dove trovo difficoltà è qui
Infatti l'ultima parte l'avevo scritta cosi ma non va...codice:if($result = mysql_query($sql, $conn)) { while ($row = mysql_fetch_row($result)) { $out .= $row[0] . '|' . $row[1] . ';'; } }
Ma mi dice "Call to a member function fetch_row() on a non-object "codice:[...] $result = @$mysqli->query($sql); if(@$result->num_rows > 0) { while($row = $result->fetch_array(MYSQLI_ASSOC)) { $out .= $row[0] . '|' . $row[1] . ';'; }
grazie a tutti!
[/code]

Rispondi quotando