Xampp - mysql不会返回所有记录

时间:2015-05-07 08:11:26

标签: php mysqli xampp

我正在开展大学项目,我必须创建一个使用mysql数据库的网站。

我已经开始使用XAMPP,但我发现当我从网页发送查询时并未显示所有记录。

网页应该显示图书馆的所有图书,我已经加载了39条记录,但服务器只回答了32条记录。

这是我发送的查询:

SELECT titolo, autore FROM libro WHERE 1 ORDER BY libro ASC

我在网页上遇到此问题,但如果我从命令行执行相同的查询,则服务器会返回所有记录。

这里是要求服务器的php脚本:

$mysqli = new mysqli("127.0.0.1","","","biblioteca");
if($mysqli->connect_errno)
{
    echo "Connessione fallita (". $mysqli->connect_errno.")".$mysqli->connect_error;
}

//query per recupero di tutti il libri disponibili
$result = $mysqli->query("SELECT titolo, autore, genere, disponibilita, codLibro FROM libro WHERE 1 ORDER BY titolo ASC") or die ("Query fallita".$mysqli->error);

//visualizzazione di tutti gli elementi dell'arrray
$count = 1;
print "<br>";
foreach($result as $value){
    foreach($value as $attrib){
        //recupero singoli attributi della tabella 'libro' e li stampo
        $row = $result->fetch_row();

        print $count.". ";
        print " ".$row[0]. " - ".$row[1]." - ".$row[2]." - ";

        //se è disponibile inserisco immagine
        if($row[3]==1)
        {
            print "<a href=\"prenota.php?cod=".$row[4]."&user=". $_GET['user']. "\"><img name=\"prenota\" title=\"Effettua la                   prenotazione\" src=\"/img/ok.png\" width=\"25\" height=\"25\"/></a>";
            print "<br>";
        }else{
            print "<img src=\"/img/no.jpeg\" height=\"25\" width=\"25\"/>";
            print "<br>";
        }
        print "<br>";
        $count = $count +1;
    }
}

2 个答案:

答案 0 :(得分:2)

你的foreach循环不正确,单循环就足够了,它应该是:

while ($row = $result->fetch_row()) {
    //recupero singoli attributi della tabella 'libro' e li stampo

    print $count.". ";
    print " ".$row[0]. " - ".$row[1]." - ".$row[2]." - ";
    ...
}

另外,可读性和可管理性更好的是使用fetch_array(),然后使用列名作为索引$row['titolo']

答案 1 :(得分:0)

检查出来

$mysqli = new mysqli("127.0.0.1","","","biblioteca");
if($mysqli->connect_errno)
{
    echo "Connessione fallita (". $mysqli->connect_errno.")".$mysqli->connect_error;
}

//query per recupero di tutti il libri disponibili
$result = $mysqli->query("SELECT titolo, autore, genere, disponibilita, codLibro FROM libro ORDER BY titolo ASC") or die ("Query fallita".$mysqli->error);

//visualizzazione di tutti gli elementi dell'arrray
$count = 1;
print "<br>";

while($row = $result->fetch_assoc()){
    echo $row['username'] . '<br />';
    //recupero singoli attributi della tabella 'libro' e li stampo
    print $count.". ";
    print " ".$row["titolo"]. " - ".$row["autore"]." - ".$row["genere"]." - ";

    if($row["disponibilita"]==1){
        print "<a href=\"prenota.php?cod=".$row["doLibro"]."&user=". $_GET['user']. "\"><img name=\"prenota\" title=\"Effettua la                   prenotazione\" src=\"/img/ok.png\" width=\"25\" height=\"25\"/></a>";
        print "<br>";
    }else{
        print "<img src=\"/img/no.jpeg\" height=\"25\" width=\"25\"/>";
        print "<br>";
    }
    print "<br>";
    $count++;
}