[英]Having issues with parameters in my PHP code, parameters not defined
嘗試構建一個表單以將項目添加到數據庫,但每次單擊“提交”時它都會拋出錯誤,並且我無法發現錯誤。
我正在使用的代碼,它為第52行拋出一個錯誤,它有'));' 而且我試圖改變它,沒有運氣。 任何幫助/指導將不勝感激。
錯誤消息'警告:PDOStatement :: execute():SQLSTATE [HY093]:參數號無效:參數未定義'
<?php
if(isset($_POST['submit'])){
// Field validation
if(strlen($_POST['groupname']) == ''){
$error[] = 'Please enter group/individual name';
}
if(strlen($_POST['address1']) == ''){
$error[] = 'Please enter first line of address';
}
if(strlen($_POST['city']) < 2){
$error[] = 'City field too short.';
}
if(strlen($_POST['postcode']) < 7){
$error[] = 'Please enter valid postcode.';
}
if(strlen($_POST['phone']) < 11){
$error[] = 'Please enter valid contact number.';
}
if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
$error[] = 'Please enter a valid email address';
} else {
$stmt = $con->prepare('SELECT email FROM groups WHERE email = :email');
$stmt->execute(array(':email' => $_POST['email']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if(!empty($row['email'])){
$error[] = 'Email provided is already in use.';
}
//If no errors - proceed
if(!isset($error)){
try {
//insert into database with a prepared statement
$stmt = $con->prepare('INSERT INTO groups (groupName,address1,address2,city,postcode,phoneNumber,email,coOrdinator)
VALUES (:groupname, :address1, :address2, :city, :postcode, :phone, :email, :co-ordinator)');
$stmt->execute(array(
':groupname' => $_POST['groupname'],
':address1' => $_POST['address1'],
':address2' => $_POST['address2'],
':city' => $_POST['city'],
':postcode' => $_POST['postcode'],
':phone' => $_POST['phone'],
':email' => $_POST['email'],
':co-ordinator' => $_POST['co-ordinator']
));
if ( $stmt ){
echo "<p>Kit has been added successfully!</p>";
} else {
echo "<p>Sorry, there has been a problem adding the item.</p>";
}
exit();
//else catch the exception and show the error.
} catch(PDOException $e) {
$error[] = $e->getMessage();
}
}
}
占位符不能包含連字符,它們具有與SQL標識符相同的語法(除了:
前綴)。 變化:co-ordinator
:coordinator
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.