我为INSERT
准备了一个语句函数,我在这个论坛中得到了这个函数。但我不知道如何将变量/数组传递给这个函数。我是新手,一些帮助真的很有用。
我想要像这样的人:
$obj->insert_data($parameter)
我列出了以下功能..
function insert_datas($array) {
$placeholders = array_fill(0, count($array), '?');
$keys = $values = array();
foreach($array as $k => $v) {
$keys[] = $k;
$values[] = !empty($v) ? $v : null;
}
$stmt = self::$mysqli->stmt_init();
$query = 'INSERT INTO `'.DB_TABLE_PAGES.'` '.
'('.implode(',', $keys).') VALUES '.
'('.implode(',', $placeholders).')';
$stmt->prepare($query);
call_user_func_array(
array($stmt, 'bind_param'),
array_merge(
array(str_repeat('s', count($values))),
$values
)
);
$stmt->execute();
}
答案 0 :(得分:-1)
试试这个,希望这有帮助!
define('DB_HOST', 'database_host');
define('DB_NAME', 'database_name');
define('DB_USER', 'database_user');
define('DB_PASS', 'database_password');
$dbc = new PDO('mysql:host='. DB_HOST .';dbname='. DB_NAME, DB_USER, DB_PASS);
function insert_datas($array) {
foreach($array as $a) {
$insert_table = "INSERT INTO table (column) VALUES (:column)";
$stmt = $dbc->prepare($insert_table);
$stmt->bindValue(':column', $a['key'], PDO::PARAM_STR);
$stmt->execute();
}
}