Вызовите функцию-член bind_param () для не-объекта. mysqli

Это мой php-код:

include ("dbinfo.php"); if(isset($_POST['editsave'])){ $edittitle=$_POST["edittitle"]; $editurl=$_POST["editurl"]; $editdesc=$_POST["editdesc"]; $editid=$_POST["editid"]; $mysqli = $GLOBALS['dbc']; $stmt = $mysqli->prepare("UPDATE links SET title = ?, \desc = ? WHERE id = ?"); $stmt->bind_param('ssd', $_POST['edittitle'], $_POST['editdesc'], $_POST['editid']); $stmt->execute(); $stmt->close(); } 

Это моя форма:

  <form role="form" action="edit.php" method="post"> <div class="form-group"> <label for="title">Title</label> <input type="text" name="edittitle" class="form-control" id="title" placeholder="Enter title" maxlength="70" value="<?php echo ($title); ?>"> </div> <div class="form-group"> <label for="url">URL</label> <input type="text" name="editurl" class="form-control" id="url" value="<?php echo ($url); ?>" disabled> </div> <div class="form-group"> <label for="desc">Description</label><small> (max 500 characters)</small> <textarea class="form-control" name="editdesc" id="desc" rows="5" maxlength="500"><?php echo ($desc); ?></textarea> </div> <div> <input type="hidden" name="editid" value="<? echo $id; ?>"> <button type="submit" name="editsave" class="btn btn-primary">Save changes</button> </div> </form> 

Когда я нажимаю submit, я получаю следующее:

Неустранимая ошибка: вызовите функцию-член bind_param () для не-объекта в / storage / content / x / xxx / в строке 27.

Строка 27:

 $stmt->bind_param('ssd', 

Я не знаком с mysqli. Я попытался решить проблему в течение нескольких дней, и я схожу с ума.

Это означает, что запрос внутри mysqli :: prepare () привел к ошибке.

Согласно документу:

mysqli_prepare () возвращает объект оператора или FALSE, если произошла ошибка.

Попробуйте правильно избежать desc , который является зарезервированным ключевым словом в MySQL ( \ is not proper escaping):

 $stmt = $mysqli->prepare('UPDATE links SET title = ?, `desc` = ? WHERE id = ?');