获取所有行,仅显示一行

时间:2013-09-22 20:58:12

标签: php mysql

我连接数据库,一切正确,我做选择,一切都正确。但问题来自于我试图获取所有行。我尝试了所有mysql_fetch ...(array,assoc ...)

$registros = mysql_query("SELECT * FROM  22bf654e4dfa688d0ec6add2f6f7bf76", $con);
$reg = mysql_fetch_array($registros);

if( ($reg)
{
    echo $reg;

}

3 个答案:

答案 0 :(得分:4)

请注意,{@ 1}}库已被弃用,您应该使用PDO或MySQLi。

使用PDO,您的代码如下所示:

mysql_

您需要迭代结果,这会将所有数据存储到数组<?php // Your database info $db_host = ''; $db_user = ''; $db_pass = ''; $db_name = ''; $con = new PDO("mysql:host={$db_host};dbname={$db_name}", $db_user, $db_pass); $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "SELECT * FROM 22bf654e4dfa688d0ec6add2f6f7bf76"; $result = $con->prepare($sql); $result->execute(); $reg = $result->fetchALL(PDO::FETCH_ASSOC); $con = NULL; print_r($reg); // To show just one row you can use: print_r($reg[0]); // So let's say you have a field called "name", then u could use: echo $reg[0]['name']; 中:

$reg

答案 1 :(得分:1)

您应该使用mysqli代替mysql,但这是另一个答案。

while($row = mysql_fetch_array($result)) {
    echo $row['column-name-here'];
}

这会遍历查询中的所有结果。如果您只有1个结果,它将只显示1.如果您只想要1个结果,那么在您的查询中指定您想要的结果

SELECT * FROM table WHERE something = something;

答案 2 :(得分:0)

$ reg是所有行的数组;你想使用foreach迭代它,然后在每次迭代时使用print_r而不是echo,因为那将是该行的列数组

如果你只想要第一行, print_r($reg[0])

但最好还是在查询或限制语句中使用where子句以获得更好的性能。不要返回超出您需要的数据。