#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.