2012-04-21 2 views
6

필자는 며칠 동안이 문제를 해결해 왔으며 나는 오류를 범할 이유를 찾지 못했다. PHP 경고를받지 못했습니다. 삽입하는 대신 오류 처리기 "somethign가 잘못되었습니다." 나는 훌륭한 청년들이 여기에 몇 초 안에 그것을 발견 할 것임을 알고있다. 그것은 단지 간단한 삽입 문장을 고려할 때 그렇지만, 메신저는 엉망이다. 미리 감사드립니다.Mysqli 삽입 진술

include('core.inc.php'); 
$sql = 'INSERT INTO $resultsTable (
    id, 
    firstName, 
    lastName, 
    email, 
    birthday, 
    anniversary, 
    location, 
    campaign 
) 
VALUES (NULL,?,?,?,?,?,?,?)'; 
$stmt = $mysql->stmt_init(); 
if ($stmt->prepare($sql)) { 
// bind parameters and execute statement 
$stmt->bind_param(
    'sssssss', 
    $_POST['fname'], 
    $_POST['lname'], 
    $_POST['email'], 
    $_POST['birthday'], 
    $_POST['anniversary'], 
    $_POST['location'], 
    $campaign 
); 

$OK = $stmt->execute();} 
// return if successful or display error 
    if ($OK) {$response = "Success";} 
    else {$response ="Something went wrong.";} 
} 
+0

'mysqli_error()'가 울려 보셨습니까? http://php.net/manual/en/mysqli.error.php –

+0

'$ mysql '은 어디에서 왔습니까? 그것은'core.inc.php'에 정의되어 있습니까? –

+0

'echo $ stmt-> error' –

답변

3

괜찮아 난 STMT 오류에 공감하며 $ resultsTable didnt 한이 존재하는지 나에게 말했다. core.inc에서 해당 변수에 대한 정의가 있습니다.

연결 또는 큰 따옴표를 사용하십시오.

$sql = 'INSERT INTO ' . $resultsTable . ' (
    id, 
    firstName, 
    lastName, 
    email, 
    birthday, 
    anniversary, 
    location, 
    campaign 
) 
VALUES (NULL,?,?,?,?,?,?,?)'; 


$sql = "INSERT INTO $resultsTable (
    id, 
    firstName, 
    lastName, 
    email, 
    birthday, 
    anniversary, 
    location, 
    campaign 
) 
VALUES (NULL,?,?,?,?,?,?,?)"; 
+0

나는 지금 고마워한다! –