Penggunaan fungsi FETCHALL pada PHP

Ini adalah pertanyaan sederhana untuk pengguna PHP. Alasan saya tidak bisa mendapatkan perbedaan yang pasti antara mysql_fetch_array() dan mysql_fetch_row() di PHP adalah karena saya banyak bekerja dengan Java.


Sebelum saya memposting pertanyaan ini di sini, saya mendapat beberapa jawaban dari Google tetapi saya menemukan mereka agak membingungkan. Beberapa tautan yang saya temukan di internet adalah sebagai berikut.

Jawaban 1

Jawab 2

Jawab 3

Jawab 4


Saya tidak bisa mendapatkan ide yang tepat dari jawaban di atas. Jadi sebenarnya apa perbedaan yang tepat di antara mereka?

Dokumentasi cukup jelas tentang ini, sudahkah Anda melihatnya? 

mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] )

Mengembalikan array string yang sesuai dengan baris yang diambil, atau SALAH jika tidak ada lagi baris. Jenis array yang dikembalikan tergantung pada bagaimana result_type didefinisikan. Dengan menggunakan MYSQL_BOTH (default), Anda akan mendapatkan sebuah array dengan indeks asosiatif dan angka. Menggunakan MYSQL_ASSOC, Anda hanya mendapatkan indeks asosiatif (karena mysql_fetch_assoc () berfungsi), [menggunakan] menggunakan MYSQL_NUM, Anda hanya mendapatkan indeks angka (karena mysql_fetch_row () berfungsi).

mysql_fetch_row ( resource $result )

Mengembalikan array numerik string yang sesuai dengan .__ yang diambil. baris, atau SALAH jika tidak ada lagi baris.

mysql_fetch_row () mengambil satu baris data dari hasil yang terkait dengan pengidentifikasi hasil yang ditentukan. Baris dikembalikan sebagai array . Setiap kolom hasil disimpan dalam offset array, mulai dari offset 0.

Singkatnya 

mysql_fetch_array( $result, MYSQL_ASSOC ) = mysql_fetch_assoc( $result )mysql_fetch_array( $result, MYSQL_NUM ) = mysql_fetch_row( $result )

Dan 

mysql_fetch_array ( $result ) = mysql_fetch_assoc( $result ) + mysql_fetch_row( $result )

Banyak pemula pemrograman php bingung tentang fungsi mysql_fetch_array (), mysql_fetch_row (), mysql_fetch_assoc () dan mysql_fetch_object (), tetapi semua fungsi ini melakukan proses serupa.

Mari kita membuat tabel "tb" untuk contoh yang jelas dengan tiga bidang "id", "nama pengguna" dan "kata sandi"

Tabel: tb

Masukkan baris baru ke tabel dengan nilai 1 untuk id, tobby untuk nama pengguna dan tobby78 $ 2 untuk kata sandi

Penggunaan fungsi FETCHALL pada PHP

db.php

<?php
$query=mysql_connect("localhost","root","");
mysql_select_db("tobby",$query);
?>

mysql_fetch_row ()

Ambil baris hasil sebagai array numerik

<html>
<?php
include('db.php');
$query=mysql_query("select * from tb");
$row=mysql_fetch_row($query);
echo $row[0];
echo $row[1];
echo $row[2];
?>
</html>

Hasil

1 tobby tobby78 $ 2

mysql_fetch_object ()

Ambil baris hasil sebagai objek

<html>
<?php
include('db.php');
$query=mysql_query("select * from tb");
$row=mysql_fetch_object($query);
echo $row->id;
echo $row->username;
echo $row->password;
?>
</html>

Hasil

1 tobby tobby78 $ 2

mysql_fetch_assoc ()

Ambil baris hasil sebagai array asosiatif

<html>
<?php
include('db.php');
$query=mysql_query("select * from tb");
$row=mysql_fetch_assoc($query);
echo $row['id'];
echo $row['username'];
echo $row['password'];
?>
</html> 

Hasil

1 tobby tobby78 $ 2

mysql_fetch_array ()

Ambil baris hasil sebagai array asosiatif, array numerik dan juga diambil oleh array asosiatif & numerik.

<html>
<?php
include('db.php');
$query=mysql_query("select * from tb");
$row=mysql_fetch_array($query);
echo $row['id'];
echo $row['username'];
echo $row['password'];

<span style="color: #993300;">/* here both associative array and numeric array will work. */</span>

echo $row[0];
echo $row[1];
echo $row[2];

?>
</html>

Hasil

1 tobby tobby78 $ 2

Fungsi mysql_fetch_object {row/array/assoc} () mengumpulkan catatan pencocokan tunggal pertama dalam format masing-masing dan dapat diambil sesuai. 

con.php  

<?php
        $Host     = $_GET['Host'];
        $username = $_GET['username'];
        $pass     = $_GET['pass'];
        $database  = $_GET['database'];
        $connect=new connect($Host,$username,$pass,$database);
        class connect{
             function __construct($Host,$user,$password,$db_name){
                mysql_connect($Host,$user,$password) or die("Connection error");
                mysql_select_db($db_name);
                $error=mysql_error();
                if (!empty($error))
                {
                    echo $error;
                }
            }
        }
        ?>

Penggunaan fungsi FETCHALL pada PHP

index.php

<?php
$query=mysql_query("select * from category");
?>

Bagaimana setiap nilai akan terlihat saat membuang array di browser

mysql_fetch_array

$row=mysql_fetch_array($query);
var_dump($row);

Output:  

array
  0 => string '1' (length=1)
  'id' => string '1' (length=1)
  1 => string '1' (length=1)
  'createdBy' => string '1' (length=1)
  2 => string 'APTITUDE' (length=8)
  'catName' => string 'APTITUDE' (length=8)
  3 => string 'APTITUDE' (length=8)
  'description' => string 'APTITUDE' (length=8)
  4 => string '1' (length=1)
  'status' => string '1' (length=1)

mysql_fetch_row

$row=mysql_fetch_row($query);
var_dump($row);

Output:  

array
  0 => string '1' (length=1)
  1 => string '1' (length=1)
  2 => string 'APTITUDE' (length=8)
  3 => string 'APTITUDE' (length=8)
  4 => string '1' (length=1)

mysql_fetch_assoc

$row=mysql_fetch_assoc($query);
var_dump($row);

Output:  

array
  'id' => string '1' (length=1)
  'createdBy' => string '1' (length=1)
  'catName' => string 'APTITUDE' (length=8)
  'description' => string 'APTITUDE' (length=8)
  'status' => string '1' (length=1)

mysql_fetch_object

$row=mysql_fetch_object($query);
var_dump($row);

Output:  

object(stdClass)[2]
  public 'id' => string '1' (length=1)
  public 'createdBy' => string '1' (length=1)
  public 'catName' => string 'APTITUDE' (length=8)
  public 'description' => string 'APTITUDE' (length=8)
  public 'status' => string '1' (length=1)

Rest @Gaurang telah menyediakan cara menggunakan kode Anda dan aktivitas lainnya.

Ada 3 fungsi . mysql_fetch_assoc mysql_fetch_row mysql_fetch_array (kombinasi baris dan asosiasi)

Saya akan merekomendasikan _assoc atau _row untuk mengoptimalkan kode Anda dan menjaganya tetap jelas. Jika Anda mengambil satu kolom, gunakan $ row = mysql_fetch_row $ row [0]

mysql_fetch_array sebagai manual mengatakan dapat mengembalikan indeks berbasis (posisi) int, array asosiatif atau keduanya sesuai dengan result_type yang dipilih.

di sisi lain mysql_fetch_row selalu mengembalikan hasil yang ditetapkan berdasarkan indeks integer.

Saya pribadi menyarankan Anda untuk menggunakan mysql_fetch_array lewat MYSQL_ASSOC sebagai parameter kedua karena selalu lebih mudah untuk mengetahui bidang apa yang ingin Anda ambil

mysql_fetch_row mengembalikan array yang disebutkan, sehingga indeksnya adalah angka. mysql_fetch_array mengembalikan array asosiatif (dan secara default, menggabungkan angka untuk indeks), jadi, mysql_fetch_array kembali, secara default, semua data digandakan dalam satu array, satu set data menggunakan angka sebagai indeks dan set lain, masih dalam array yang sama dengan indeks asosiatif (indeks berbasis teks).

contoh mysql_fetch_row:

Array(2)
    0 => "foo"
    1 => "bar"

contoh mysql_fetch_array (perilaku default):

Array(4)
    0 => "foo"
    1 => "bar"
    "user" => "foo"
    "name" => "bar"

Jawab dua dari tautan pertama yang Anda berikan benar. Komentar tersebut mengatakan:

"Alih-alih keduanya mengembalikan semua baris dari tabel. Perbedaan Di antara keduanya adalah fetch_array menghasilkan hasil dalam parameter kedua ke fungsi sementara fetch_row kembali .__ menghasilkan hanya array numerik. "

... jadi menggunakan fetch_row Anda tidak dapat melakukan sesuatu seperti 

echo $result['name']; // can do this in fetch_array, not in fetch_row
echo $result[0]; // can do this in fetch_array and fetch_row

Seperti manual mengatakan: mysql_fetch_array() dapat mengembalikan array asosiatif tergantung pada default dan parameter kedua (MYSQL_ASSOC, MYSQL_NUM, atau MYSQL_BOTH).

Sementara mysql_fetch_row() selalu mengembalikan array indexed.

Mysql_fetch_object mengembalikan hasil dari database sebagai objek sedangkan mysql_fetch_array mengembalikan hasil sebagai array Ini akan memungkinkan akses ke data dengan nama bidang.

Apa itu fetch array?

Fungsi mysql_fetch_array() merupakan salah satu fungsi yang banyak digunakan dalam proses pengambilan data MySQL. Fungsi ini akan menangkap data dari hasil perintah query dan membentuknya ke dalam array asosiatif dan array numerik.

Apakah jenis array yang dihasilkan oleh fungsi Fetch_assoc () pada saat menampilkan record dari database?

Fungsi fetch_assoc() / mysqli_fetch_assoc() digunakan untuk mengambil baris hasil sebagai array asosiatif.

Mysqli_fetch_object untuk apa?

Fungsi fetch_object() / mysqli_fetch_object() digunakan untuk mengembalikan baris saat ini dari kumpulan hasil, sebagai objek. Catatan: Nama kolom yang dikembalikan dari fungsi ini peka huruf besar / kecil(Case-Sensitive).

Apa itu fetchAll?

PDOStatement :: fetchAll () mengembalikan set hasil yang berisi sebuah array dari semua lini yang tersisa. Setiap baris dari array ini adalah array atau nilai kolom, atau atribut objek yang sesuai untuk setiap nama kolom.