2017-04-02 75 views
1
$query = "SELECT * FROM pass"; 
$result = mysql_query($query,$conn); 
echo mysql_num_rows($result); 

while($row = mysql_fetch_array($result)) 
{ 
    $username = $row['user']; 
    $password = $row['pass']; 
} 

民行= 12,但while循環只有第一個,如果我在使用的同時$row = mysql_fetch_array(mysql_query("SELECT * FROM pass",$conn))PHP MySQL表獲取只給第一行

如果我使用它的第一行後,給出了錯誤的第一碼, 警告:mysql_fetch_array()預計參數1是資源,串

+0

**警告**:如果您只是學習PHP,請不要學習過時的['mysql_query'](http://php.net/manual/en/function.mysql-query)。 php)界面。這很糟糕,並且已經在PHP 7中被刪除了。像[PDO不是很難學的東西](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-php-pdo- for-database-access /)以及[PHP The Right Way](http://www.phptherightway.com/)等指南有助於解釋最佳實踐。確保**你的用戶參數[妥善轉義](http://bobby-tables.com/php),否則你將以嚴重的[SQL注入漏洞](http://bobby-tables.com/ )。 – tadman

回答

1

所定義的變量錯定,如果你不給它一個數字,你會始終只有1個結果,並做一些閱讀到更新的方式連接到mysql數據庫

$i = 0; 
while($row = mysql_fetch_assoc($result)) 
{ 
    $username[$i] = $row['user']; 
    $password[$i] = $row['pass']; 
    $i++; 
} 

//you can test like this 
$r = 0; 
while($r < $i) 
{ 
    echo $username[$r]; 
    echo $password[$r]; 
    $r++; 
} 
+0

這也行不通 – katates

+0

@katates看到我的編輯我錯過了一些改變獲取數組到mysql_fetch_assoc – Gert

+0

這很奇怪現在它只獲得第一個字符,編輯:解決了它! – katates