0

次のPHPコードがあります。

if(!($rsContactList=mysql_query($sqlContactList,$con)))
{
    echo mysql_error();
}
else
{
    echo mysql_num_rows($rsContactList);
    while(($contact=mysql_fetch_array($rsContactList)))
    {
        $phone = $contact['telephone'];
        echo "<option value='$phone>'$phone</option>";
    }
}

複数の行数を取得していますが、表示できません。理由を教えてください。前もって感謝します。

4

2 に答える 2

1

データを配列にフェッチしています。つまり、すべてのデータを取得して、ループせずに配列に入れるだけです。mysql_fetch_assoc次の行をフェッチし、コードを実行して、次の行を再度フェッチするため、ここで使用することをお勧めします。

while($contact = mysql_fetch_assoc($rsContactList)) { }

assignment in conditionまたは、エラーを防ぐには:

while(($contact = mysql_fetch_assoc($rsContactList)) !== false) { }

mysql_*ただし、もう使用しないでください。PDOやなど、より良い代替手段がありますmysqli。私は自分でmysqliを次のように使用しています:

$rMysqli = new mysqli("localhost", "user", "password", "database");

$sSqlQuery $rMysqli->query("SELECT * FROM table");
while(($aRowQuery = $sSqlQuery->fetch_assoc()) !== false) {  }
于 2012-11-06T07:06:09.067 に答える
0

変化する

While(($contact=mysql_fetch_assoc($rsContactList)))
        {...

While($contact=mysql_fetch_assoc($rsContactList))
        {...
于 2012-11-06T07:07:20.950 に答える