2013-07-12 2 views
1

다음 코드가 있습니다. 모든 값은 자바 스크립트를 통해 얻은 다음 아약스를 통해 전송됩니다. 마지막에 var_dump ($ array)가 작동하고 모든 올바른 값을 표시합니다. 그래서 그들은 모두 제대로 통과합니다. try 메서드의 catch 오류도 나타나지 않습니다. 값은 SQL 테이블에 삽입되지 않습니다. 뭐가 문제 야? 미리 감사드립니다. PDO/SQL 삽입이 작동하지 않습니다.

:

INSERT INTO `create` ... 

는 PDO가 예외를 발생하게하려면, 당신은 당신이 당신의 연결을 연 후 그를 추가해야합니다 : 당신은 역 따옴표에 인용 할 수 있도록

$name = $_GET['name']; 
$category = $_GET['category']; 
$subCategory = $_GET['subCategory']; 
$date = $_GET['date']; 
$address = $_GET['address']; 
$city = $_GET['city']; 
$state = $_GET['state']; 
$host = $_GET['host']; 
$imagePath = $_GET['imagePath']; 
$info = $_GET['info']; 

//turn into array 
$array = array(); 
$array[0]=$name; 
$array[1]=$category; 
$array[2]=$subCategory; 
$array[3]=$date; 
$array[4]=$address; 
$array[5]=$city; 
$array[6]=$state; 
$array[7]=$host; 
$array[8]='j';//$imagePath; 
$array[9]=$info; 

try { 
    $con = new PDO('mysql:host=localhost;dbname=test'); 

$insert = $con->prepare(" INSERT INTO create 
(name,category,subCategory,date,address,city,state,host,imagePath,info) 
VALUES (?,?,?,?,?,?,?,?,?,?) "); 
$insert->execute($array); 
} 

catch(PDOException $e) { //try 
    echo 'error'; 
    //echo 'ERROR: ' . $e->getMessage(); 
} 

var_dump($array); 

답변

3

create

는 MySQL의 예약어입니다
$con = new PDO('mysql:host=localhost;dbname=test'); 
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

그런데 사용자 이름과 암호 (PDO constructor의 두 번째 및 세 번째 매개 변수)를 사용하여 데이터베이스에 로그인하고 있다고 가정합니다 ...

+0

감사합니다. '생성'에 대해 몰랐습니다. – seamus

관련 문제