Creates table from all db info:
<?php
$qry = "SELECT * FROM exp_member_data";
$res = mysql_query($mem_qry);
function mysql_fetch_all($res) {
while($row=mysql_fetch_array($res)) {
$return[] = $row;
}
return $return;
}
function create_table($dataArr) {
echo "<tr>";
for($j = 0; $j < count($dataArr); $j++) {
echo "<td>".$dataArr[$j]."</td>";
}
echo "</tr>";
}
$all = mysql_fetch_all($res);
echo "<table class='data_table'>";
for($i = 0; $i < count($all); $i++) {
create_table($all[$i]);
}
echo "</table>";
?>
mysql_fetch_row
(PHP 4, PHP 5)
mysql_fetch_row — 숫자 색인 배열로 결과를 반환
설명
array mysql_fetch_row
( resource $result
)
인출된 행과 일치하는 숫자 색인 배열을 반환하고, 앞으로 내부 데이터 포인터를 이동한다.
반환값
인출된 행에 대응하는 문자열의 숫자 색인 배열을 반환하거나 더 이상의 행이 없으면 FALSE를 반환한다.
mysql_fetch_row()는 지정된 result 식별자와 연관된 결과로부터 하나의 데이터 행을 인출하며, 배열로 반환한다. 각 결과 컬럼은 0으로 시작하는 배열 오프셋(offset)에 저장이 된다.
예제
Example #1 mysql_fetch_row()를 이용한 하나의 행 인출 예제
<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
echo $row[0]; // 42
echo $row[1]; // the email value
?>
주의
Note: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.
참고
- mysql_fetch_array() - 연관 색인 및 숫자 색인으로 된 배열로 결과 행을 반환
- mysql_fetch_assoc() - 연관 배열로 결과 행을 반환
- mysql_fetch_object() - 객체형으로 결과 행을 인출
- mysql_data_seek() - 내부 결과 포인터를 이동
- mysql_fetch_lengths() - 결과로부터 각 출력의 길이를 반환
- mysql_result() - 결과 데이터를 반환
jhulbert at redf dot com
19-Feb-2010 01:32
larkitetto at gmail dot com
21-Feb-2008 03:29
sry :) note now fixed:
<?php
$esi=mysql_list_tables($db);$ris=mysql_fetch_row($esi);
//example: $db has >= 1 tabs
echo var_dump($ris);
//echoes only array(1). solution:
while($ris=mysql_fetch_row($esi)) echo $ris[0];
/*debug:
$ris=array("1st_tab"); ... $ris=array("n_tab");$ris=false;*/
while ($ris[]=mysql_fetch_row($esi));
//debug:$ris=array(array("1st_tab"), ... array("n_tab"));
echo $ris[n][0];//echo:"n_tab"
echo $ris[0][n];//echo:array | null
?>
hope it helps
ryhan_balboa at yahoo dot com
16-Nov-2007 09:23
The following are the basic codes to get a specific row from the mysql db into a $row variable:
$query = "SELECT * FROM table";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
And $row[0], $row[1] ... $row[n] are used to access those field values.
Does anyone know how I can add a new field to $row, so that the field count increases from n to n+1?
I have tried treating $row like an array, and tried array_push function, but didn't work.
Thanks.
m dot s at programmers-online dot net
17-Nov-2005 01:56
The following function to read all data out of a mysql-resultset, is may be faster than Rafaels solution:
<?
function mysql_fetch_all($result) {
while($row=mysql_fetch_array($result)) {
$return[] = $row;
}
return $return;
}
?>
mysql at polyzing dot com
12-Jul-2003 03:05
It is probably worth pointing out that the array elements will actually be of type string, OR NULL if the field is null in the database.
Thus, either use a double equal comparison to look for empty or null
Or, use a triple equal comparison to be able to distinguish the two cases
e.g.
if ($field === '') echo "Empty, not NULL\n";
if ($field === NULL) echo "NULL\n";
if ($field == '') echo "Empty or NULL\n";
michael and then an at sign wassupy.com
08-Apr-2003 12:09
to print an array, simply use print_r(array name)
like this:
$myrow = mysql_fetch_row($result);
echo "<pre>";
print_r($myrow);
echo "</pre>";
this will output the array in a readable form, with the index, too. Don't forget the 'pre' tags or the output will be on a single line.
a at simongrant dot org
06-Feb-2002 05:10
Maybe worth pointing out that all the fields returned by this (and other?) calls are returned with type string. This had me puzzled for quite some time.
