user3184462
user3184462

Reputation: 51

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]:

I have a query where I am counting rows but it's showing this error..

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from=? AND to=?' at line 1' in C:\wamp\www\network\profile.php on line 38

( ! ) PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from=? AND to=?' at line 1 in C:\wamp\www\network\profile.php on line 38

Here's my code :

$sql_check_friend = "SELECT COUNT(*) FROM connection_request WHERE from=:me AND"; 
$sql_check_friend .= "to=:friend";
    
$sth = $db->prepare($sql_check_friend);
$sth->bindParam(":me", $me);
$sth->bindParam(":friend", $pageuserid);
$sth->execute();

$count = $sth->fetchColumn();

if($count > 0){
echo "REQUEST SENT";
}else{
echo "NOT SENT";
}

I can't figure out what's wrong..

Upvotes: 0

Views: 25256

Answers (2)

Aadil Bashir Dar
Aadil Bashir Dar

Reputation: 1

This is because your string/text connection may contain quotes like this: ",' or `. try removing these quotes and then execute query, so validate your connection string.

Upvotes: 0

Marc B
Marc B

Reputation: 360562

from is a reserved word. It must be escaped in your query:

 SELECT ... WHERE `from` := ...
                  ^--  ^--- 

And ditto for to as well - it's a reserved word too.

Upvotes: 8

Related Questions