2014-12-10 5 views
5

Durante lo sviluppo su localhost tramite XAMPP ho usato mysqli_fetch_all nel mio codice. Ma dopo aver caricato su hosting condiviso godaddy, non funziona.mysqli_fetch_all non funziona su hostimg condiviso, necessita di un'alternativa

Ho ricercato su internet e ho scoperto che il server dovrebbe usare MySQLnd per eseguire mysqli_fetch_all. Quindi non posso eseguire il mio codice corrente sul server.

Ho bisogno di un'alternativa esatta di questo codice. Eventuali suggerimenti?

codice attuale:

$result = mysqli_query($con,$query); 
$arr = mysqli_fetch_all($result, MYSQLI_ASSOC); 

$totalrecords = count($arr); 

$json = array('sEcho' => '1', 'iTotalRecords' => $totalrecords, 'iTotalDisplayRecords' => $totalrecords, 'aaData' => $arr); 
echo json_encode($json); 

risposta

4

Se non si può usare perché non si dispone di mysqlnd installato, quindi prenderlo come si farebbe normalmente con mysqli_fetch_assoc()

$arr = array(); 
$result = mysqli_query($con,$query); 
$totalrecords = mysqli_num_rows($result); 
while($row = mysqli_fetch_assoc($result)) { 
    $arr[] = $row; 
} 

$json = array('sEcho' => '1', 'iTotalRecords' => $totalrecords, 'iTotalDisplayRecords' => $totalrecords, 'aaData' => $arr); 
echo json_encode($json); 
+0

ha funzionato come un fascino. Grazie!!! – sumit

+0

@sumit: sicuro che questo ha aiutato – Ghost

0

ho ho affrontato lo stesso problema con il mio host, e per meno refactoring del codice penso che il modo migliore sia implementare una funzione simile usando mysqli_fetch_assoc() o mysqli_fetch_array(), restituendo lo stesso come mysqli_fetch_all(), come:

public function mysqli_fetch_all_alt($result) { 
    $select = array(); 

    while($row = mysqli_fetch_assoc($result)) { 
     $select[] = $row; 
    } 

    return $select; 
} 

Quindi basta eseguire una ricerca di sostituzione nel progetto.

+0

un suggerimento: puoi sempre racchiudere una definizione di funzione in una condizione con function_exists(). ti farà risparmiare un find-replace in un progetto. –

Problemi correlati