Possible Duplicate:
Call to a member function bind_param() on a non-objectPHP MYSQL Подготовленные отчеты об ошибках
Я получаю следующее сообщение об ошибке:
Call to a member function bind_param() on a non-object
Вот подготовленное заявление:
include('/path/to/connection/variable.php');
Этот файл проверен, работает это только создает экземпляр класса mysqli, пример:
$mysqli = new mysqli("localhost", "user", "password", "db");
Так что я знаю, что это не проблема ...
$stmt = $mysqli->prepare("INSERT INTO `users` VALUES (?,?,?,?,?,?,?)");
$stmt->bind_param("sssssss", $firstname, $lastname, $email, $subscribed, $signup_date, $unsubscribe_date, $signup_source);
$stmt->execute();
$stmt->close();
$mysqli->close();
типы переменных следующим образом:
$firstname = string
$lastname = string
$email = string
$subscribed = char (Y or N)
$signup_date = DATE - date('Y-m-d')
$unsubscribe_date = DATE - 0000-00-00 Entered Initially
$signup_source = string
Я пытался найти все обычные подозреваемые, проверил соединение, в основном я написал отдельный оператор SELECT, и он работает. «ПОЛЬЗОВАТЕЛИ» - действительная таблица. Разрешения для подключения - это root, так что это не проблема. Я переключил типы для дат между «s» и «d» и даже попробовал все с фиктивными переменными - никакой разницы.
Я надеюсь, что это что-то простое - потому что я уже в последний час ломаю свой мозг, и я не вижу ничего плохого в заявлении выше.
Да - я получаю '' false' на var_dump ($ STMT) ', который является то, что сбивает с толку я, потому что оператор имеет правильный синтаксис, это правильная таблица, и поле считается правильным и т. д. –
Редактирование: я нашел проблему - мне не хватало поля на INSERT - черт возьми, я ненавижу, когда это так просто. ... В связи с тем, что я не лучший с mySQL, есть ли способ, которым я могу настроить INSERT только на пару полей - т.е. исключить конечные поля в инструкции? –