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

Foreach dari DUA Looping TextFields, mungkin?

Anda harus mendapatkan indeks untuk mengakses nilai dalam larik lain:

foreach($_POST['experiences'] as $idx => $experience) {
    $sql = "INSERT INTO experiences (number, experience, years)
            VALUES ({$idx}, {$experience}, {$_POST['years'][$idx]}");
    // execute query, etc
}

Ini akan berhasil, tetapi Anda mungkin tidak boleh melakukannya dengan cara ini karena ini membuat Anda terbuka untuk injeksi SQL . Cara yang lebih baik untuk melakukannya adalah dengan membersihkan input Anda (mis: mysql_reaL_escape_string atau yang setara dengan mysqli)

Cara terbaik untuk melakukannya adalah menggunakan pernyataan yang disiapkan :

$stmt = $dbh->prepare("INSERT INTO experiences (number, experience, years) 
                       VALUES (?, ?, ?)");

foreach($_POST['experiences'] as $idx => $experience) {
    // pass values and execute
    $stmt->execute(array($idx, $experience, $_POST['years'][$idx]));
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cakephp:saat memasukkan bidang tinyint. Hanya mendapatkan 0 atau 1

  2. Filter input null atau kosong menggunakan LOAD DATA INFILE di MySQL

  3. Hanya variabel yang dapat diteruskan dengan referensi - php

  4. bagaimana cara membuat penghitung artikel php?

  5. cara mendapatkan nilai tunggal dari array di codeigniter