HELP on bindValue() ! I got a fatal error, please teach me how to fix it

I got this Fatal error: Call to a member function bindValue() on a non-object in c:\wamp\www\addjoke\index.php on line 51.
What does it mean and how to fix it? Below is the code teached by book, after i execute it, the browser gave me fatal error on bindValue.
Any opinion will be appreciate.

if(isset($_POST[‘joketext’]))
{
try
{
$sql=‘INSERT INTO joke SET
joketext = :joketext,
jokedate = CURDATE()’;
$S=$pdo->prepare($sql);
$s->[COLOR=“#FF0000”]bindValue/COLOR;
$s->execute();
}
catch(PDOException $e)
{
$error='Error adding submitted joke: ’ . $e->getMessage();
include ‘error.html.php’;
exit();
}
header (‘Location: .’);
exit();
}

Think you’ll find your answer a bit more subtle…


$[COLOR="#FF0000"]S[/COLOR]=$pdo->prepare($sql);
$[COLOR="#FF0000"]s[/COLOR]->bindValue(':joketext',$_POST['joketext']);

s != S

Your error message tells you that $s doesnt have a ‘bindValue’ method. And it doesnt, because $s is undefined. $S is defined, as an object type PDOStatement. $S has a method bindValue…

Thanks your help, really appreciate it. I think i overlooked it for 2 days, keep finding the mistake…haha! Thank you very much! Now, it’s working!