MySQL запрос Вопрос?

0

Я пытаюсь запретить участникам добавлять себя в качестве друга, но я не могу заставить его работать с последней строкой кода в моем MySQL-запросе AND '$user_id' <> '$friend_id' пытается проверить, совпадает ли идентификатор пользователя с идентификатором друга, и если так прекратить выполнение запроса, но по какой-то причине код все равно будет работать.

Как исправить это, чтобы запрос прекращался, когда пользователь пытается добавить себя в качестве друга?

Вот запрос MySQL.

 SELECT *
 FROM friends
 WHERE user_id = '$user_id'
 AND friend_id = '$friend_id'
 AND '$user_id' <> '$friend_id'

Вот таблица MySQL.

CREATE TABLE friends (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id INT UNSIGNED NOT NULL,
friend_id INT UNSIGNED NOT NULL,
PRIMARY KEY (id),
);
Теги:

4 ответа

1
Лучший ответ

Почему вы не можете сделать это так просто, как это.

У вас будет форма обучения, которая отправляет идентификатор пользователя и friendID. например, представленные формы формы...

$user_id;
$friend_id;

Тогда почему вы не можете сравнить

if($user_id == $friend_id) {
   //user has selected himself as friend
}
else {
   // different user has been selected as friend
}

Если я прав, также в форме, которую вы можете ограничить, не отображая собственный идентификатор, чтобы выбрать друга.

любые комментарии?

0

Запрос SELECT не там, где вам нужно работать, чтобы пользователи не добавляли themselve в качестве друзей. У вас должен быть оператор INSERT где-то в вашем коде, и на нем вы должны работать. Вы можете просто проверить, есть ли $user_id == $friend_id и не выдавать инструкцию INSERT, если она истинна.

Вам также необходимо "очистить" существующую таблицу друзей:

DELETE FROM friends WHERE user_id = friend_id;
0
 "SELECT *
 FROM friends
 WHERE user_id =" . '$user_id' .
 " AND friend_id = " . '$friend_id' . 
 " AND user_id <> friend_id";

должен работать (при условии, что вы используете PHP).

0

Что вы хотите заархивировать с помощью выбранного запроса?

На данный момент кажется, что вы хотите отобразить всех друзей пользователя. Если это случай, чем вы должны препятствовать пользователю добавлять себя как друга раньше. Проверьте, является ли это законным другом, когда вы делаете инструкцию insert.

Таким образом, у вас нет плохих данных в вашей базе данных и вы сохраняете ресурсы базы данных, потому что база данных не должна проверять каждый раз, когда вы показываете друзей.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню