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.
(PHP 4, PHP 5)
mysql_fetch_row — Zapisuje wiersz wyniku w tablicy wyliczeniowej
To rozszerzenie zostało uznane za przestarzałe w PHP 5.5.0 i usunięte w PHP 7.0.0. Zamiast niego należy stosować rozszerzenia MySQLi lub PDO_MySQL. Zobacz też przewodnik MySQL: wybieranie API i stosowne FAQ aby uzyskać więcej informacji. Alternatywy dla tej funkcji to między innymi:
$wynik
) : arrayZwraca tablicę numeryczną, która odpowiada pobranemu wierszowi i przesuwa do przodu wewnętrzny wskaźnik danych.
wynik
Wynik w postaci zmiennej typu resource, które jest przetwarzane. Wynik ten pochodzi z wywołania funkcji mysql_query().
Zwraca tablicę numeryczną, która odpowiada pobranemu wierszowi lub
FALSE
jeśli nie ma więcej wierszy.
mysql_fetch_row() pobiera jeden wiersz danych z wyniku skojarzonego z podanym identyfikatorem wyniku. Wiersz zwracany jest jako tablica. Komórki są umieszczone pod oddzielnymi ofsetami, zaczynając od 0.
Przykład #1 Pobieranie jednego wiersza za pomocą mysql_fetch_row()
<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Nie można uruchomić zapytania: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
echo $row[0]; // 42
echo $row[1]; // wartość kolumny email
?>
Informacja: Ta funkcja ustala wartość pól NULL na
NULL
.
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.
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.
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
<?php
require 'prhlavicka.php';
pis_hlavicku('Vypis článků');
require_once 'db.php';
$kom = new server();
$sql=$kom->query("SELECT autor,nazev,obsah FROM `Clanky_Sadek`");
while ($data = mysql_fetch_row($sql)){
ECHO '<br />--AUTOR--<br />'.$data[0].'<br />__NÁZEV ČLÁNKU__<br />'.$data[1].'<br />..OBSAH ČLÁNKU..<br />'.$data[2]; }
include 'Paticka.html'; ?>
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;
}
?>
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.
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>";
?>
<?php
$conn=mysql_connect("localhost","root","");
if($conn)
{
echo("Connection Successfully");
$seldb=mysql_select_db("test",$conn);
if($seldb)
{
echo("Database selected successfully");
$retrive=mysql_query("select name,number from login1 where name='sateesh'",$conn);
if($retrive)
{
echo("Successfully data retrived<br>");
$result=mysql_fetch_row($retrive);
echo ("Name".$result[0]);
echo ("Number".$result[1]);
}
else
{
echo "Table not inserted";
}
}
else
{
die("database not selected");
}
}
else
{
die("connection faild");
}
mysql_close($conn);
?>