I am learning to work with PHP and have a simple problem.
<?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!'; ?>
This code should add a Tag to an existing link in a database, however I am getting this error
Fatal error: Call to a member function bindParam() on a non-object in /usr/users2/mieic2009/ei09072/public_html/TP1/Delicious/addTag.php on line 9
I have checked over and over and can't seem to find what's wrong with this code, I googled for this error but unfortunately the answer I found weren't helpful enough. Any help would be appreciated, this is probably a simple rookie mistake.
I would check that the
$db->prepare()function executed successfully. It will return false if it did not. So you could be trying to call
bindParam()on a variable that equals
Also you should put the PDO object declaration in
try/catchto be sure it was successful as well, as in the first example on this page: