2012-04-21 5 views
6

Я проходил через это пару дней, и я просто не могу найти причину ошибки. Я не получаю php-предупреждение, просто обработчик ошибок «somethign пошел не так» вместо того, чтобы вставлять. Я знаю, что прекрасные молодые ребята здесь, вероятно, заметят это через несколько секунд, например, рассматривая его просто заявление о вставке, но im buggered. Заранее спасибо.Заявление о вставке 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/ru/mysqli.error.php –

+0

Где находится '$ mysql'? Это определено в 'core.inc.php'? –

+0

'echo $ stmt-> error' –

ответ

3

ок я повторил ошибку STMT и сказал мне, что $ resultsTable существует техника его подводит. В 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

ok Теперь я вижу спасибо! –