Data pertanyaan MySQL


Data pertanyaan MySQL

Pangkalan data MySQL menggunakan pernyataan SQL SELECT untuk membuat pertanyaan data.

Anda boleh bertanya data dalam pangkalan data melalui tetingkap gesaan arahan mysql> atau data pertanyaan melalui skrip PHP.

Syntax

Berikut ialah sintaks SELECT biasa untuk pertanyaan data dalam pangkalan data MySQL:

SELECT column_name,column_name
FROM table_name[WHERE Clause][LIMIT N][ OFFSET M]
  • Dalam pertanyaan kenyataan, anda boleh Gunakan satu atau lebih jadual, pisahkan dengan koma (,) dan gunakan pernyataan WHERE untuk menetapkan syarat pertanyaan.

  • Arahan SELECT boleh membaca satu atau lebih rekod.

  • Anda boleh menggunakan asterisk (*) untuk menggantikan medan lain Pernyataan SELECT akan mengembalikan semua data medan dalam jadual

  • Anda boleh gunakan pernyataan WHERE untuk mengandungi sebarang syarat.

  • Anda boleh menggunakan atribut LIMIT untuk menetapkan bilangan rekod yang dikembalikan.

  • Anda boleh menggunakan OFFSET untuk menentukan offset data di mana pernyataan SELECT mula membuat pertanyaan. Secara lalai offset ialah 0.

Dapatkan data melalui command prompt

Dalam contoh berikut kita akan mendapat MySQL melalui arahan SQL SELECT Data pengguna jadual data:

Instance

Contoh berikut akan mengembalikan semua rekod pengguna jadual data:

Baca jadual data :

select * from user;

未标题-1.jpg

Gunakan skrip PHP untuk mendapatkan data

Gunakan fungsi PHP mysqli_query() dan perintah SQL SELECT untuk mendapatkan data.

Fungsi ini digunakan untuk melaksanakan perintah SQL, dan kemudian menggunakan atau mengeluarkan semua data pertanyaan melalui fungsi PHP mysqli_fetch_array().

Fungsi mysqli_fetch_array() mengambil baris daripada set hasil sebagai tatasusunan bersekutu, tatasusunan angka atau kedua-duanya Mengembalikan tatasusunan berdasarkan baris yang diambil daripada set hasil, atau palsu jika tiada lagi barisan.

Contoh berikut membaca semua rekod daripada pengguna jadual data.

Contoh

Cuba contoh berikut untuk memaparkan semua rekod pengguna jadual data.

<?php
header("Content-Type: text/html;charset=utf-8");

$dbhost = 'localhost'; // hos pelayan mysql Alamat
$dbuser = 'root'; // nama pengguna mysql
$dbpass = 'root';
jika(! $conn )
{
mati('Sambungan gagal: ' .mysqli_error ($conn));
}
// Tetapkan pengekodan untuk mengelakkan aksara Cina bercelaru
mysqli_query ($conn , "set names utf8");

$sql = 'SELECT user_id, tajuk_pengguna,
pengarang_pengguna, tarikh_serahan
DARIPADA pengguna';

mysqli_select_db( $con n, 'DEMO' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('Tidak dapat membaca data: ' . mysqli_error($conn ));
}
echo '<h2>Laman web PHP Cina mysqli_fetch_array test<h2> ;';
gema '<table border="1"><tr><td>ID Tutorial</td><td>Tajuk</td><td>Pengarang</td> <td>Tarikh Penyerahan</td></tr>';
while($ row = mysqli_fetch_array($retval, MYSQLI_ASSOC))
{
echo "<tr> {$row['user_id']}</td> ".
"<td> ;{$row['user_title']} </td> ".
" "<td>{ $row['user_author']} </td> ".
" "<td>{ $row['submission_date']} </td> ".
"</tr>" ;
}
gema '</table>';
mysqli_close($conn) ;

?>

Image 5.jpg

Dalam contoh di atas, setiap baris rekod yang dibaca diberikan kepada pembolehubah $row, dan kemudian setiap nilai dicetak.

Nota: Ingat jika anda perlu menggunakan pembolehubah dalam rentetan, letakkan pembolehubah dalam pendakap kerinting.

Dalam contoh di atas, parameter kedua fungsi PHP mysqli_fetch_array() ialah MYSQLI_ASSOC. Tetapkan parameter ini untuk menanyakan hasil dan mengembalikan tatasusunan bersekutu Anda boleh menggunakan nama medan sebagai indeks tatasusunan.

PHP menyediakan satu lagi fungsi mysqli_fetch_assoc(), yang mengambil satu baris daripada set hasil sebagai tatasusunan bersekutu. Mengembalikan tatasusunan bersekutu berdasarkan baris yang diambil daripada set hasil, atau palsu jika tiada lagi baris.

Contoh

Cuba contoh berikut, yang menggunakan fungsi mysqli_fetch_assoc() untuk mengeluarkan semua rekod pengguna jadual data:


<?php
header("Content-Type: text/html;charset=utf-8");
$dbhost = 'localhost'; // hos pelayan mysql Alamat
$dbuser = 'root'; // nama pengguna mysql
$dbpass = 'root';
jika(! $conn )
{
mati('Sambungan gagal: ' .mysqli_error ($conn));
}
// Tetapkan pengekodan untuk mengelakkan aksara Cina bercelaru
mysqli_query ($conn , "set names utf8");

$sql = 'SELECT user_id, tajuk_pengguna,
pengarang_pengguna, tarikh_serahan
DARIPADA pengguna';

mysqli_select_db( $ conn, 'DEMO' );
$retval = mysqli_query( $conn, $sql );
if (! $retval )
{
die('Tidak dapat membaca data: ' . mysqli_error($conn ));
}
gema '<h2>Tapak web PHP Cina mysqli_fetch_assoc test<h2> ';
gema '<table border="1"><tr><td>ID Tutorial</td><td>Tajuk</td><td>Penulis</td>< ;td>Tarikh Penyerahan</td></tr>';
while($ row = mysqli_fetch_assoc($retval))
{
echo "<tr><td> {$row> ['user_id']}</td> ".
"<td>{ $row['user_title']} </td> ".
" "<td>{$row[ 'pengarang_pengguna']} </td> ".
" ['tarikh_serahan']} </td> ".
" </tr>";
}
gema '< ;/table>';
mysqli_close($conn);
?>


Image 6.jpg

Anda juga boleh menggunakan pemalar MYSQLI_NUM sebagai parameter kedua fungsi PHP mysqli_fetch_array() untuk mengembalikan tatasusunan angka.

Contoh

Contoh berikut menggunakan parameter MYSQLI_NUM untuk memaparkan semua rekod pengguna jadual data:


< ?php
header("Content-Type: text/html;charset=utf-8");

$dbhost = 'localhost'; // alamat hos pelayan mysql
$dbuser = ' root'; / nama pengguna mysql
$dbpass = 'root'; // nama pengguna dan kata laluan mysql
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn)
{
die('Sambungan gagal: ' . mysqli_error($conn));
}
//Tetapkan pengekodan untuk mengelakkan aksara Cina yang kacau
mysqli_query($conn, "set names utf8" );

$sql = 'PILIH user_id, user_title,
user_author, submission_date
DARIPADA pengguna';

mysqli_select_db( $conn, 'demo' );
$ retval = mysqli_query ( $conn, $sql );
if(! $retval )
{
die('Tidak dapat membaca data: ' . mysqli_error($conn));
}
echo ' <h2>Ujian mysqli_fetch_array laman web PHP Cina<h2>';
echo '<table border="1"><tr><td>ID Tutorial</td><td><td> Tajuk< ;/td><td>Pengarang</td><td>Tarikh Hantar</td></tr>';
while($row = mysqli_fetch_array)( echo "<tr><td> {$row[0]}</td> ".
"<td>{$row[1]} </td> " .
“<td>{$row[2]} </td> “.
“<td>{$row[3]} </td> /tr>";
}
gema '</table>';
mysqli_close($conn);
?>



Image 8.jpg

Hasil keluaran ketiga-tiga contoh di atas adalah sama.

Keluaran Memori

Selepas kami melaksanakan pernyataan SELECT, adalah satu tabiat yang baik untuk melepaskan memori kursor.

Memori boleh dikeluarkan melalui fungsi PHP mysqli_free_result().

Contoh berikut menunjukkan penggunaan fungsi ini.

Contoh

Cuba contoh berikut:


<?php
header("Content-Type: text/html;charset=utf-8");

$dbhost = 'localhost'; alamat hos pelayan mysql
$dbuser = 'root'; // nama pengguna mysql
$dbpass = 'root';
if(! $conn )
{
die( 'Sambungan gagal: ' . mysqli_error($conn));
}
//Tetapkan pengekodan untuk mengelakkan aksara Cina yang kacau
mysqli_query($conn, "set names utf8");

$sql = 'PILIH user_id, user_title,
user_author, submission_date
DARIPADA pengguna';

mysqli_select_db( $conn, 'demo' );
$retval = mysqli_query( $conn, $ sql );
if(! $retval )
{
die('Tidak dapat membaca data: ' .mysqli_error ($conn));
}
echo '<h2>PHP Ujian mysqli_fetch_array tapak web Cina<h2>';
gema '<table border="1"><tr>< ;td>ID Tutorial</td><td>Tajuk</td;> ;Pengarang</td><td>Tarikh Penyerahan</td></tr>';
manakala($row = mysqli_fetch_array($retval, MYSQLI_NUM))
{
echo tr><td> {$row[0]}</td> ".
" "< td>{$row[1]} </td> ".
" "< td>{$row[2]} </td> ".
" "<td>{$row[ 3]}</td> retval);
mysqli_close($conn);
?>



Image 8.jpg

Cadangan kursus berkaitan: