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

Pernyataan multi sisipan PDO

if(isset($_POST['title, question, tags']))

Sintaksnya tidak benar

sebagai gantinya Anda dapat melakukan:

if(isset($_POST['title']) && isset($_POST['question']) && isset($_POST['tags']))

atau bahkan

if(isset($_POST['title'], $_POST['question'], $_POST['tags']))

Akan lebih mudah untuk mengeksekusinya tanpa mengikat:

masukkanData

function insertData($tablename, $params){
//build query string
$column_string = implode(',', array_keys($params));
$value_string = implode(',', array_fill(0, count($params), '?'));
$sql_string = "INSERT INTO {$tablename} ({$columnString}) VALUES ({$value_string})";
//prepare query
$mysqlConnection = getConnection();
$statement = $mysqlConnection->prepare($sql_string);

//execute query
$success = $statement->execute(array_values($params));

//return boolean success
return $success;
}  

Namun jika memang benar-benar perlu untuk mengikat, Anda dapat melakukannya dengan cara berikut:

function insertDataBind($tablename, $params){
//build query string
$column_string = implode(',', array_keys($params));
$value_string = implode(',:', array_keys($params));
$sql_string = "INSERT INTO {$tablename} ({$column_string}) VALUES (:{$value_string})";
//prepare query
$mysqlConnection = getConnection();
$statement = $mysqlConnection->prepare($sql);
//bind 
    foreach($params as $key=>$value){
        $statement->bindValue($key, $value);
    }
//execute query
$success = $statement->execute();

//return boolean success
return $success;
}

penggunaan:

if(isset($_POST['title'], $_POST['question'], $_POST['tags'])){

$params = array('title' => $_POST['title'],
                'question'=>$_POST['question'],
                'tags'=>$_POST['tags']
                );

$success = insertData('questions', $params);

if(!$success)
    echo 'Sorry failed :(';
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menambahkan mysql_real_escape_string() menyebabkan nilai kosong disimpan ke database

  2. Bagaimana saya bisa mengubah kasus nama database di MySQL?

  3. Menjalankan Jumlah untuk Beberapa Kategori di MySQL

  4. Kesalahan sintaks dengan IF EXISTS UPDATE ELSE INSERT

  5. mysql di xampp mulai dan berhenti dalam lima detik