2014-10-08 91 views
-2

我有這樣的代碼:雖然只顯示了一個結果

<?php 
    include("config.php"); // mysql connect and mysql(i) filter sanitize 

    $cislonakupus=$_GET['cislonakupu']; 
    $su=mysql_query("SELECT * FROM `count_size` WHERE `cislonakupu`='$cislonakupus'"); 

    while ($row=mysql_fetch_array($su)) { 
      $pid1=$row['idproduktu']; 
      $s9=$row['S']; 
      echo $s9; 
      die(); 
    } 
?> 

我的表有兩個記錄,如下圖所示。

[數據庫]

表 「count_size」

cislonakupu = 123,S = 1

cislonakupu = 123,S = 2

echo只打印出首先記錄S爲1,並且不顯示與S爲2的第二條記錄。

這是爲什麼?

+6

因爲你'死()'在循環的中間有一個死! 'exit()/ die()'立即和突然終止執行。 – 2014-10-08 13:20:19

+1

我想知道這個問題會得到多少答案。我想我們可以推4! – sjagr 2014-10-08 13:21:40

回答

0

你明確地說die()終止你的程序。

0

移動die(); while循環外

1

您在循環

<?php 
    include("config.php"); // mysql connect and mysql(i) filter sanitize 

$cislonakupus=$_GET['cislonakupu']; 
$su=mysql_query("SELECT * FROM `count_size` WHERE `cislonakupu`='$cislonakupus'"); 
     while ($row=mysql_fetch_array($su)) { 
      $pid1=$row['idproduktu']; 
    $s9=$row['S']; 
      echo $s9; 
      die(); // Remove this, it stops the script 
} 
?>