MySQLi - Klausa SEPERTI

Kami telah melihat SQL SELECTperintah untuk mengambil data dari tabel MySQLi. Kita juga bisa menggunakan klausa bersyarat yang disebutWHERE klausa untuk memilih catatan yang diperlukan.

Klausa WHERE dengan tanda sama dengan (=) berfungsi dengan baik jika kita ingin melakukan pencocokan tepat. Seperti jika "name = 'sai'". Tapi mungkin ada persyaratan di mana kita ingin menyaring semua hasil di mana nama harus mengandung "johar". Ini dapat ditangani menggunakan SQLLIKE klausa bersama dengan klausa WHERE.

Jika klausa SQL LIKE digunakan bersama dengan% karakter, maka itu akan bekerja seperti karakter meta (*) di UNIX sambil mencantumkan semua file atau direktori pada command prompt.

Tanpa karakter%, klausa LIKE sangat mirip dengan tanda sama dengan dengan klausa WHERE.

Sintaksis

Berikut adalah sintaks SQL generik dari perintah SELECT bersama dengan klausa LIKE untuk mengambil data dari tabel MySQLi -

SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • Anda dapat menentukan kondisi apapun menggunakan klausa WHERE.

  • Anda dapat menggunakan klausa LIKE bersama dengan klausa WHERE.

  • Anda dapat menggunakan klausa LIKE sebagai pengganti tanda sama dengan.

  • Ketika LIKE digunakan bersama dengan tanda% maka itu akan bekerja seperti pencarian karakter meta.

  • Anda dapat menentukan lebih dari satu ketentuan menggunakan AND atau OR operator.

  • Klausa WHERE ... LIKE dapat digunakan bersama dengan perintah DELETE atau UPDATE SQL juga untuk menentukan kondisi.

Menggunakan klausa LIKE di Command Prompt

Ini akan menggunakan perintah SQL SELECT dengan klausa WHERE ... LIKE untuk mengambil data yang dipilih dari tabel MySQLi tutorials_inf.

Contoh

Contoh berikut akan mengembalikan semua catatan dari tutorials_inf tabel yang diakhiri dengan nama penulis johar -

root@host# mysql -u root -p password;
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> SELECT * from tutorials_inf 
   -> WHERE name LIKE '%johar';
+----+-------+
| id | name  |
+----+-------+
|  2 | johar |
+----+-------+
1 row in set (0.00 sec)

mysql>

Menggunakan klausa LIKE di dalam Script PHP

Anda dapat menggunakan sintaks serupa klausa WHERE ... LIKE ke dalam fungsi PHP mysqli_query(). Fungsi ini digunakan untuk menjalankan perintah SQL dan kemudian fungsi PHP lainnyamysqli_fetch_array() dapat digunakan untuk mengambil semua data yang dipilih jika klausa WHERE ... LIKE digunakan bersama dengan perintah SELECT.

Tetapi jika WHERE ... LIKE clause sedang digunakan dengan perintah DELETE atau UPDATE, maka tidak diperlukan pemanggilan fungsi PHP lebih lanjut.

Contoh

Cobalah contoh berikut untuk mengembalikan semua catatan tutorials_inf tabel yang berisi nama johar -

<?php
   $dbhost = 'localhost:3306';
   $dbuser = 'root';
   $dbpass = '';
   $dbname = 'TUTORIALS';
   $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);
   
   if(! $conn ) {
      die('Could not connect: ' . mysqli_error());
   }
   echo 'Connected successfully<br>';
   $sql = 'SELECT * FROM tutorials_inf WHERE name LIKE "%johar%"';
   $result = mysqli_query($conn, $sql);
   $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
   
   printf ("%s \n",$row["name"]);
   mysqli_free_result($result);
   mysqli_close($conn);
?>

Output sampel harus seperti ini -

Connected successfully
johar