2011-09-20 62 views

回答

31

您需要从表中获取所需的所有数据。像这样的东西会工作:

$SQLCommand = "SELECT someFieldName FROM yourTableName"; 

这行进入您的表,并从您的表中获取'someFieldName'中的数据。如果要获取多个列,可以在'someFieldName'中添加更多字段名称。

$result = mysql_query($SQLCommand); // This line executes the MySQL query that you typed above 

$yourArray = array(); // make a new array to hold all your data 


$index = 0; 
while($row = mysql_fetch_assoc($result)){ // loop to store the data in an associative array. 
    $yourArray[$index] = $row; 
    $index++; 
} 

上面的循环遍历每一行并将其作为一个元素存储在您创建的新数组中。然后,你可以做任何你想要用这些信息,像打印出来的画面:

echo $row[theRowYouWant][someFieldName]; 

所以,如果$ theRowYouWant等于4,这将是该数据(在这种情况下,“someFieldName”)从第5行(记住,行从0开始!)。

+0

这会将所有内容保存到数组元素'[0]'中,因为您在循环的每次迭代中重置'$ index'。 –

+0

对,很好。固定。 –

+0

你可以这样做**没有**循环:https://stackoverflow.com/a/45682872/2311074 – Adam

13
$sql = "SELECT field1, field2, field3, .... FROM sometable"; 
$result = mysql_query($sql) or die(mysql_error()); 

$array = array(); 

while($row = mysql_fetch_assoc($result)) { 
    $array[] = $row; 
} 

echo $array[1]['field2']; // display field2 value from 2nd row of result set. 
2

其他的答案做的工作 - 但是OP要求所有行,如果所有的字段都希望以及它会更漂亮离开它的通用而不是当数据库发生变化

$query="SELECT * FROM table_name"; 

更新PHP此外,返回数据也可以是通用的 - 我真的很喜欢JSON格式,因为它会动态更新,并且可以从任何来源轻松提取。

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    echo json_encode($row); 
} 
1

这是您的代码,使用它。它已经过测试。

$select=" YOUR SQL QUERY GOOES HERE"; 
$queryResult= mysql_query($select); 

//DECLARE YOUR ARRAY WHERE YOU WILL KEEP YOUR RECORD SETS 
$data_array=array(); 

//STORE ALL THE RECORD SETS IN THAT ARRAY 
while ($row = mysql_fetch_array($queryResult, MYSQL_ASSOC)) 
{ 
    array_push($data_array,$row); 
} 


mysql_free_result($queryResult); 


//TEST TO SEE THE RESULT OF THE ARRAY 
echo '<pre>'; 
print_r($data_array); 
echo '</pre>'; 

THANKS

+2

为什么你是YELLING? – Goose

1

你可以不用循环。只需使用fetch_all命令

$sql  = 'SELECT someFieldName FROM yourTableName'; 
$result = $db->query($sql); 
$allRows = $result->fetch_all();