Intereting Posts
Laravel default orderBy PHP __DIR__ оценил время выполнения (поздняя привязка)? Symfony sfDoctrinePager с несколькими таблицами Получить скрытое входное значение из базы данных после выбора формы PHP foreach создает меню из массива обработка синтаксической ошибки php eval для математических уравнений Изменение кодировки символов многомерного массива Действительно ли mysql_real_escape_string () ПОЛНОСТЬЮ защищает от SQL-инъекции? getimagesize не работает с изображениями, которые содержат латинские / специальные символы Используя PHP для отправки электронной почты, измените FROM, чтобы не было моего имени сервера как использовать функцию islocationOnEdge для поиска координат на / возле пути google-карт api на стороне сервера почему некоторые mp3s на mime_content_type возвращают приложение / октет-поток Вставьте значения массива с помощью foreach с помощью codeigniter sh: ffmpeg: команда не найдена при запуске команды через php Элегантный способ получить количество месяцев между двумя датами?

Неустранимая ошибка: вызов функции-члена bindParam ()

Я учу работать с PHP и имею простую проблему.

<?php ini_set('display_errors', 'On'); error_reporting(E_ALL); $db = new PDO('sqlite:/usr/users2/mieic2009/ei09072/public_html/TP1/Delicious /Database.db'); $a = $_GET['linkRef']; $b = $_GET['tagToAdd']; $checkIdLink = $db->prepare('SELECT idLink FROM Links WHERE nome_L = :link_n;'); $checkIdLink->bindParam(':link_n', $a, PDO::PARAM_STR); $checkIdLink->execute(); $linkID = $checkIdLink->fetch(); $insertLink = $db->prepare('INSERT INTO Tags (nome_T, idLink) VALUES (:addTag, :link_id)'); $insertLink->bindParam(':addTag', $b, PDO::PARAM_STR); $insertLink->bindParam(':link_id', $linkID, PDO::PARAM_INT); $insertLink->execute(); echo 'Tag added to the specified link!'; ?> 

Этот код должен добавить тег к существующей ссылке в базе данных, однако я получаю эту ошибку

Неустранимая ошибка: вызов функции-члена bindParam () для не-объекта в /usr/users2/mieic2009/ei09072/public_html/TP1/Delicious/addTag.php в строке 9

Я проверил снова и снова и не могу найти, что не так с этим кодом, я искал эту ошибку, но, к сожалению, ответ, который я нашел, не был достаточно полезным. Любая помощь была бы оценена, это, вероятно, простая ошибка новобранец.

Solutions Collecting From Web of "Неустранимая ошибка: вызов функции-члена bindParam ()"

Я бы проверял, что $db->prepare() выполнена успешно. Он вернет false, если этого не произойдет. Таким образом, вы можете попытаться вызвать bindParam() для переменной, которая равна false

http://www.php.net/manual/en/pdo.prepare.php

Также вы должны поместить объявление объекта PDO в try/catch чтобы быть уверенным, что он был успешным, как в первом примере на этой странице :

 try { $dbh = new PDO($dsn, $user, $password); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); } 

Попробуйте print_r($db->errorInfo());

Вероятно, подготовка не удалась, поэтому вы не можете ее использовать.