Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Câu lệnh chèn nhiều PDO

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

Không đúng cú pháp

thay vào đó, bạn có thể làm:

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

hoặc thậm chí

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

Sẽ dễ dàng hơn để thực hiện nó mà không có ràng buộc:

insertData

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;
}  

Nhưng nếu bạn thực sự cần ràng buộc, bạn có thể thực hiện theo cách sau:

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;
}

cách sử dụng:

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. Chuyển đổi đầu ra của truy vấn MySQL thành utf8

  2. Thực thi một thủ tục được lưu trữ với con trỏ trong PHP

  3. tìm nạp dữ liệu bảng với một truy vấn

  4. Có thể sử dụng LIMIT với kết quả truy vấn con không?

  5. Ngẫu nhiên () Trong MySql?