当我执行此代码时,结果列表为空。为什么? 事实上这一行
$num=mysqli_num_rows($risultati);
不分配$ num变量。 感谢。
<?php
$user=$_POST["vnome_utente"];
$pw=$_POST["vpassword"];
//echo "POST: $user $pw";
$nomeutente="utente_el_utenti";
$password="";
$nome_database="db_elenco_utenti";
$mia_tabella="tab_elenco";
echo"Connessione al database mysql<br>";
echo"USER:$nomeutente<br>";
echo"PASS:$password<br>";
$connessione = mysql_connect("localhost", $nomeutente, $password)
or die("Connessione non riuscita: " . mysql_error());
print ("Connesso con successo<br>");
echo "apertura database $nome_database ......<br>";
$esitodb = mysql_select_db ( $nome_database)
or die("apertura database non riuscita: " . mysql_error());
print ("Database aperto con successo<br>");
echo"Elenco delle tabelle:<br>";
$risultato = mysql_list_tables($nome_database);
if (!$risultato)
{
print "Errorore database, Impossibile elencare le tabelle\n";
print 'Errore MySQL: ' . mysql_error();
exit;
}
while ($riga = mysql_fetch_row($risultato))
{
print " $riga[0]<br>";
}
mysql_free_result($risultato);
echo "eseguo la query<BR>";
//$query="SELECT * FROM $mia_tabella WHERE Username='$user' AND Password='$pw'";
$query="SELECT * FROM $mia_tabella WHERE Username='$user' ";
echo("Query:$query<br>");
$risultato = mysql_query($query)
or die("Query non valida: " . mysql_error());
$num=mysqli_num_rows($risultati);
mysql_close($connessione);
echo "<b><center>Database Output</center></b><br><br>";
$i=0;
while ($i < $num) {
$nome=mysql_result($risultati,$i,"Username");
$cognome=mysql_result($risultati,$i,"Password");
$eta=mysql_result($risultati,$i,"Type");
echo "<b>$nome $cognome</b><br>$eta<br><br>";
$i++;
}
?>
答案 0 :(得分:2)
您需要使用mysql_num_rows()
而不是mysqli_num_rows()
,但是您应该知道mysql
已被弃用,您应该考虑更改所有代码以使用mysqli
或pdo
答案 1 :(得分:2)
您过早关闭了连接。在while循环之后关闭它
//mysql_close($connessione);
echo "<b><center>Database Output</center></b><br><br>";
$i=0;
while ($i < $num) {
$nome=mysql_result($risultati,$i,"Username");
$cognome=mysql_result($risultati,$i,"Password");
$eta=mysql_result($risultati,$i,"Type");
echo "<b>$nome $cognome</b><br>$eta<br><br>";
$i++;
}
//move to here
mysql_close($connessione);