Я редактировал свой код с подготовленными данными (раньше я их не использовал). Я получаю сообщение об ошибке «Вызов функции-члена bind_param () для не-объекта». Я искал эту ошибку и обнаружил причину – ошибка возникает, если запрос имеет синтаксическую ошибку. Я ищу последние 10 минут в запросе, и я не могу найти синтаксическую ошибку. Может кто-нибудь мне помочь? Благодаря!
// QUERY BEFORE $_hsync_statment->bind_param("sisssss", $_hsync_ime, $_hsync_id, $_hsync_nista, $_hsync_nista, $_hsync_mail, $_hsync_datum, $_hsync_vrijeme); if(!$_hsync_statment->execute()) $_hsync_reg_status = -1; // POVEČAVA BROJ REGISTRIRANIH RAČUNA $_hsync_statment = $_hsync_konekcija->prepare("UPDATE $_hsync_srv SET Clanova = ?"); $_hsync_statment->bind_param("i", $_hsync_id + 1); // THIS LINE if(!$_hsync_statment->execute()) $_hsync_reg_status = -1;
Я попытался закрыть каждую статую после ее выполнения. Это не помогает.
Итак, что случилось с
$_hsync_statment->bind_param("i", $_hsync_id + 1); // THIS LINE
Тот факт, что $ _hsync_id – это переменная, которая содержит int. когда вы добавляете 1 в int. Он создает int, что неприемлемо для bind_param. bind_param ожидает объект. Попробуй это:
$_hsplus = $_hsync_id + 1; $_hsync_statment->bind_param("i", $_hsplus); // THIS LINE
Итак, теперь почему я получил два downvotes, когда ручная чистка говорит:
Обратите внимание, что mysqli_stmt_bind_param () требует, чтобы параметры передавались по ссылке, тогда как
Сообщение об ошибке Вызов функции-члена bind_param () для не-объекта … означает, что вы не создали экземпляр объекта $ _hsync_statment, прежде чем вызывать bind_params (). связали соединение db с $ _hsync_statment $ _hsync_statment = $ db-> stmt_init ();