2012-04-21 8 views
6

Ive state andando oltre questo per un paio di giorni e non riesco a trovare la ragione che sta errore. Non ricevo un avviso php, solo il gestore degli errori "somethign è andato storto" invece di inserire. So che i bravi giovani ragazzi qui probabilmente lo individueranno in pochi secondi, specialmente considerando la sua semplice frase di inserimento, ma sono infastidito. Grazie in anticipo.Mysqli insert statement

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

Hai provato a echo 'mysqli_error()'? http://php.net/manual/en/mysqli.error.php –

+0

Da dove proviene '$ mysql'? È definito in 'core.inc.php'? –

+0

'echo $ stmt-> error' –

risposta

3

ok feci eco errore stmt e mi ha detto che non ha ancora $ resultsTable esiste. In core.inc, ho una definizione per tale variabile

Utilizzare concatenazione o virgolette.

$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

ok ora vedo grazie! –