我一直试图让这段代码插入到我的表单中,但我不断收到一个又一个错误。我对此束手无策,需要帮助。我是 php 和 pdo 的新手,因此我们将不胜感激。我已经搜索了这个论坛并阅读了一些关于这个问题的书籍,我的知识和理解仍然有限,但这里是我得到的错误和代码。
解析错误:语法错误,第 1455 行 C:\xampp\htdocs\Rental Form\testdb04.php 中的意外 '=>' (T_DOUBLE_ARROW)
<?php
if (isset($_POST['submit'])){
$config = array(
'host' => 'localhost',
'username' => 'root',
'password' => '',
'dbname' => 'rentalform'
);
$db = new PDO('mysql:host=' . $config['host'] . ';dbname=' . $config['dbname'], $config['username'], $config['password']);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$filterType = array( 'string' => FILTER_SANITIZE_STRING | FILTER_SANITIZE_STRIPPED,);
$post = array();
foreach($_POST as $key => $value) {
$filter = $filterType[gettype($value)];
$value = filter_var($value, $filter);
$post[$key] = $value;
}
$bindValues = $post;
$tenant = implode(',', array_keys($bindValues));
$values = implode(',:', array_keys($bindValues));
$stmt = $db->prepare("INSERT INTO rental_form ($tenant) VALUES (:$values)");
foreach($bindValues as $key => $value) {
$stmt->bindValue(':' . $key, $value, PDO::PARAM_STR);
}
$stmt->execute();
//echo '<pre>'.var_dump("INSERT INTO rental_form ($tenant) VALUES (:$values)").'</pre>';
/*echo "INSERT INTO rental_form ($tenant) VALUES (:$values)";*/
/*for ($i=0, $c=count($filterType); $i<$c; $i++) {
echo $filterType[$i];
}*/
}
?>
</body>
</html>