- Home
- Categorie
- Coding e Sistemistica
- PHP
- Errore semplice script php
-
Errore semplice script php
Ciao a tutti,
sto rispolverando un po' di php a cui non metto mano da tempo e mi sono accorto di essere piuttosto arruginito!
Ho creato una semplice tabella con 4 campi per provare giusto una SELECT ma il risultato non è quello che mi aspettavo,i campi infatti per ogni record sembrano essere 8 :():
[PHP]
<?php //Dati connessione $host = "localhost"; $user = "root"; $psw = ""; $database = "sitodb"; $conn = mysql_connect($host,$user,$psw) or die(mysql_error()); $db = mysql_select_db($database) or die(mysql_error()); $query = "SELECT * FROM bottoni"; $result = mysql_query($query);
$array = mysql_fetch_array($result); echo count($array); mysql_close();?>
[/PHP]La tabella bottoni ha questi campi:
id_bottone, testo, link, bottone_padre
Mi sapete dire dove sbaglio?
-
Stai semplicemente sbagliando funzione. Sostituisci mysql_fetch_array con mysql_fetch_row, oppure aggiungi il secondo paramentro a mysql_fetch_array($result, MYSQL_ASSOC).
mysql_fetch_array senza secondo parametro ti conta sia i campi come indice numerico che come indice associativo (equivalente al secondo parametro MYSQL_BOTH), per cui ti conta doppio.[PHP]
<?php //Dati connessione
$host = "localhost";
$user = "root";
$psw = "";
$database = "prova";
$conn = mysql_connect($host,$user,$psw) or die(mysql_error());
$db = mysql_select_db($database) or die(mysql_error());
$query = "SELECT * FROM utenti";
$result= mysql_query($query);
$array = mysql_fetch_array($result, MYSQL_ASSOC);
echo count($array);
echo '<pre>';
var_dump($array);
echo '</pre>';
mysql_close();
?>
[/PHP]
http://php.net/manual/it/function.mysql-fetch-array.phpMa sarebbe più corretto
[PHP]
<?php //Dati connessione
$host = "localhost";
$user = "root";
$psw = "";
$database = "prova";
$conn = mysqli_connect($host,$user,$psw, $database) or die(mysqli_error($conn));
$query = "SELECT * FROM utenti";
$result= mysqli_query($conn, $query);
$array = mysqli_fetch_array($result, MYSQL_ASSOC);
echo count($array);
echo '<pre>';
var_dump($array);
echo '</pre>';
mysqli_close($conn);
var_dump($array);
?>
[/PHP]