Mysql
 sql >> база данни >  >> RDS >> Mysql

Изявление за многократно вмъкване на PDO

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

Не е правилен синтаксис

вместо това можете да направите:

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

или дори

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

Би било по-лесно да го изпълните без обвързване:

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

Но ако наистина имате нужда от обвързване, можете да го направите по следния начин:

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

използване:

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. Как да създадете свързан сървър MySQL

  2. Дизайн на база данни:опции за EAV?

  3. Спрете MySQL повторното използване на AUTO_INCREMENT ID

  4. Как да инсталирате MySQL Workbench на Windows

  5. Показване на резултатите от MySQL заявка в таблица с помощта на PHP