2012-12-18 39 views
8

我是mysqli的新手,并且mysqli的结果有问题。不幸的是,我只得到一个结果。当我把查询放入phpMyAdmin时,它会出现三个结果。我相信相关的代码是在这里和我打电话是一个错误:在mysqli中循环显示结果

$connection = new mysqli($host, $databaseUsername, $databasePassword, $database); 

if ($connection->connect_errno > 0) { 
    die ('Unable to connect to database [' . $connection->connect_error . ']'); 
} 

$sql = "SELECT clientId, studentFirstName, studentLastName 
     FROM clients 
     WHERE (studentEmail = '$postEmail') OR (parentEmail = '$postEmail');"; 

if (!$result = $connection->query($sql)) { 
    die ('There was an error running query[' . $connection->error . ']'); 
} 

echo '<select class = "toolbarDropdown" id = "toolbarDropdown-MultipleAccounts">'; 

    while ($row = $result->fetch_array()) { 
     echo '<option value="'.$row["clientId"].'>'.$row["studentFirstName"].' '.$row["studentLastName"].'</option>'; 
    } 

echo '</select>'; 
+0

您可以添加您的实际查询吗? – DACrosby

+0

我们需要查看查询。 – busypeoples

+0

@ DouglasA.Crosby好的,我添加了SQL查询。后来在代码中,我回显$ sql,然后复制并粘贴到phpMyAdmin中。在phpMyAdmin中,这导致了三个结果。 – radleybobins

回答

13

你“在选项=”丢失的收盘价< - 在你的HTML

注意

$row = $result->fetch_array() 

可以通过

$row = $result->fetch_assoc() 

这样做,阵列为每个取w ^记录被替换应该占一半的大小。

+1

这是我最初的东西,在我将它改为上面所写的内容之前。两种方法都有相同的结果,只返回一行 – radleybobins

+0

是的你是对的,默认的获取风格是MYSQL_BOTH。所以'fetch_array()'也可以。错误日志说什么?你可以启用display_errors吗? – hek2mgl

+0

啊!我刚刚阅读了顶部的编辑(错过了“,那完全是这样做的,非常感谢,它让我坚持了几个小时。” – radleybobins