выбор значения из нескольких столбцов mysql

#php #mysql #database

#php #mysql #База данных

Вопрос:

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

У меня есть приведенный ниже код для поиска по 1 столбцу (PersonID);

 sql="SELECT * FROM member WHERE personID = '".$q."'";
  

Как мне отредактировать этот код для поиска номера учетной записи в 2 столбцах (PersonID и другой столбец)?

Комментарии:

1. WHERE personId = 'something' OR other_column = 'something'

Ответ №1:

Я считаю, что SQL ИЛИ — это то, что вы ищете. Возможно, стоит взглянуть здесь http://www.w3schools.com/sql/sql_and_or.asp

 sql="SELECT * FROM member WHERE personID = '".$q."' OR othercolumn = '".$q."'";
  

Ответ №2:

Использовать ИЛИ:

 sql="SELECT * FROM member WHERE personID = '".$q."' OR anotherColumn = '".$q."'";
  

Ответ №3:

Вы можете сделать это с помощью in :

 sql="SELECT * FROM member WHERE '".$q."' IN (personID, othercol)"
  

Преимущество in заключается в том, что параметр упоминается только один раз. Это упрощает использование правильных параметров, а не подстановку строк — гораздо лучший подход к генерации SQL.