PHP MySQL表获取只给第一行

问题描述:

$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个结果,并做一些阅读到更新的方式连接到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