Соответствующие имена в базе данных
У меня есть таблица, в которой я хочу соответствовать fname
а также lname
Мой запрос
$result = $mysqli->query('SELECT * FROM user_friend_detail WHERE userId = "'.$_SESSION["userId"].'" AND FriendFirstName = "'.mysql_real_escape_string($firstName).'" AND FriendLastName = "'.mysql_real_escape_string($lastName).'" AND FriendStatusCode="verified" AND friendId!='.$fid.' ') or die($mysqli->error);
Проблема в том, если я напишу имя Joh'nny,
имена с '
не совпадают, как я могу решить это?
1 ответ
Решение
Поскольку вы уже используете mysqli, вы также можете использовать подготовленные операторы, чтобы вам не пришлось беспокоиться о правильном экранировании:
$stmt = $mysqli->prepare('SELECT *
FROM user_friend_detail
WHERE userId = ? AND FriendFirstName = ? AND FriendLastName = ?
AND FriendStatusCode="verified" AND friendId <> ?');
$stmt->bind_param('issi', $_SESSION['userId'], $firstName, $lastName, $fid);
$stmt->execute();
Смотрите также: mysqli::prepare()
Обновить
Кроме того, у вас могут быть включены магические кавычки, вы должны отключить их.