은 내가 PDO를 사용하고 있지만 여기에 정의되지 않은 변수의 오류와 혼란 스러워요 :PHP 양식 정의되지 않은 변수
그냥 데이터베이스 연결 후 변수 cat_name에 관한 것이다.
변수에 값을 직접 추가했습니다. 오류를 다음으로 변경했습니다.
SQLSTATE [42000] : 구문 오류 또는 액세스 위반 : 1064 SQL 구문에 오류가 있습니다. 라인 1
<?php
try{
include 'database.php';
$db = database:: getConnection();
$catName = "ohnoe";
$catDesc = "ohnoes";
if(isset($_POST['submit'])){
if(isset($_POST['cat_name'])){
$catName = $_POST['cat_name'];
}
else{
echo "already set";
}
if(isset($_POST['cat_description'])){
echo"Oh dear";
}
else{
$catDesc = $_POST['cat_description'];
}}
$sqlQuery = ("INSERT INTO 'categories'('cat_name', 'cat_description') VALUES (:cat_name,:cat_description)");
$statement = $db->prepare($sqlQuery);
$statement->bindValue(":cat_name",$catName);
$statement->bindValue(":cat_description",$catDesc);
$count = $statement->execute();
$db = null;
}catch(PDOException $e){
echo $e->getMessage();
}
?>
PDO와는 아무런 관련이 없습니다. 변수가 설정되어 있지 않으면 불평 할 것입니다. 당신은'isset()'을 먼저 사용하여 그것을 확인할 수있다. –
'print_r'을 사용하여'$ _POST' 배열을보고'cat_name' 값이 실제로 존재하는지 확인해보십시오. –
sql 오류 : 이스케이프하는 테이블 및 열 이름에 작은 따옴표가 사용되지 않지만 뒤로 틱 – AlexP