fname と lname を一致させたいクエリがあります
$result = $mysqli->query('SELECT * FROM user WHERE userId = "'.$_SESSION["userId"].'" AND FriendFirstName = "'.htmlentities($firstName, ENT_QUOTES,"UTF-8").'" AND FriendLastName = "'.htmlentities($lastName, ENT_QUOTES,"UTF-8").'" AND FriendStatusCode="verified" AND friendId!='.$fid.' AND ViewableRow <> "0" ') or die($mysqli->error);
echo 'SELECT * FROM user WHERE userId = "'.$_SESSION["userId"].'" AND FriendFirstName = "'.htmlentities($firstName, ENT_QUOTES,"UTF-8").'" AND FriendLastName = "'.htmlentities($lastName, ENT_QUOTES,"UTF-8").'" AND FriendStatusCode="verified" AND friendId!='.$fid.' AND ViewableRow <> "0" ';
John'y という名前の場合、結果は生成されず、行は返されません。クエリをエコーし、同じクエリを実行すると、SQL で結果が得られます。
出力はこのようになります
SELECT *
FROM user_friend_detail
WHERE userId = "9306" AND FriendFirstName = "Aa\'tid"
AND FriendLastName = "Kenddy"
AND FriendStatusCode="verified" AND friendId!=9366 AND ViewableRow "0"
mysqlで行を返します。私は魔法の引用符をオフにしました。非常に単純な問題だと思っていましたが、多くの時間を無駄にしました。
The FNAME is Aa'tid
The lname is Kenddy
私は何かを逃していますか?