-2
오류가 발생했습니다.이 오류가 발생했는데 아무나 해결할 수 있도록 도와주세요. 전자 메일이 중복되었거나 데이터베이스에없는 경우 코드를 필터링하여 오류가 시작됩니다. 여기 내 pdo에서 'PDOException'오류가 발생했습니다. 내 코드를 실행 한 후
은 내가 가진 오류입니다 :<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "test";
$dbc = new PDO("mysql:host=" . $host . ";dbname=" . $db, $user, $pass);
$dbc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$name = @$_POST['name'];
$age = @$_POST['age'];
$address = @$_POST['address'];
$gender = @$_POST['gender'];
$email = @$_POST['email'];
$dupesql = "SELECT * FROM students WHERE email = :email ";
$dupesql = $dbc->prepare($dupesql);
$dupesql->bindParam(':name', $email);
$dupesql->execute();
$num_rows = $dupesql->rowCount();
if($num_rows === 0)
{
echo "1";
$q = "INSERT INTO students(name, age, address, gender, email) VALUES(:name, :age, :address, :gender, :email)";
$query = $dbc->prepare($q);
$query->bindParam(':name', $name);
$query->bindParam(':age', $age);
$query->bindParam(':address', $address);
$query->bindParam(':gender', $gender);
$query->bindParam(':email', $email);
$results = $query->execute();
}else{
echo "0";
exit;
}
?>
'$ dupesql-> bindParam (': name', $ email); '? 그것은 ': email'이어야합니다 –
@ 1nflktd 오, 고맙습니다. 나는 그것을 놓쳤습니다. 답변에 넣어서 투표 할 수 있습니다. – user3762241
왜 예외를 잡지 않았습니까? 왜 $ _POST 앞에 연산자가 들리지 않습니까? 왜 bindValue가 아닌 bindParam을 사용합니까? 둘의 차이를 아십니까? –