Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PHP isset() dengan beberapa parameter

Parameter ke isset() harus berupa referensi variabel dan bukan ekspresi (dalam kasus Anda merupakan rangkaian); tetapi Anda dapat mengelompokkan beberapa kondisi bersama-sama seperti ini:

if (isset($_POST['search_term'], $_POST['postcode'])) {
}

Ini akan mengembalikan true hanya jika semua argumen ke isset() diatur dan tidak mengandung null .

Perhatikan bahwa isset($var) dan isset($var) == true memiliki efek yang sama, jadi yang terakhir agak berlebihan.

Perbarui

Bagian kedua dari ekspresi Anda menggunakan empty() seperti ini:

empty ($_POST['search_term'] . $_POST['postcode']) == false

Ini salah karena alasan yang sama seperti di atas. Sebenarnya, Anda tidak perlu empty() di sini, karena pada saat itu Anda pasti sudah memeriksa apakah variabel sudah disetel, jadi Anda bisa pintas ekspresi lengkapnya seperti ini:

isset($_POST['search_term'], $_POST['postcode']) && 
    $_POST['search_term'] && 
    $_POST['postcode']

Atau menggunakan ekspresi yang setara:

!empty($_POST['search_term']) && !empty($_POST['postcode'])

Pemikiran terakhir

Anda harus mempertimbangkan untuk menggunakan filter berfungsi untuk mengelola input:

$data = filter_input_array(INPUT_POST, array(
    'search_term' => array(
        'filter' => FILTER_UNSAFE_RAW,
        'flags' => FILTER_NULL_ON_FAILURE,
    ),
    'postcode' => array(
        'filter' => FILTER_UNSAFE_RAW,
        'flags' => FILTER_NULL_ON_FAILURE,
    ),
));

if ($data === null || in_array(null, $data, true)) {
    // some fields are missing or their values didn't pass the filter
    die("You did something naughty");
}

// $data['search_term'] and $data['postcode'] contains the fields you want

Btw, Anda dapat menyesuaikan filter untuk memeriksa berbagai bagian dari nilai yang dikirimkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konversi strftime dalam permintaan SQLite ke MySQL

  2. MySQL – FOUND_ROWS() Fungsi untuk Jumlah Baris yang Terpengaruh

  3. Bagaimana cara mengubah PDO ke mysqli?

  4. Data terlalu panjang untuk kolom di Django di MySQL

  5. Tambahkan kolom baru ke hasil dan gabungkan tabel