MySQL выборочный столбец на основе другого столбца в PHP

0

Я пытаюсь написать свой первый PHP script с mySQL, и мне отчаянно нужна помощь. Я уверен, что это относительно просто, но если у меня есть одно поле в моей таблице (например, имя пользователя), и я хочу получить другое поле (например, имя), которое находится в той же строке, что и указанное имя пользователя, как это сделать?

Опять же, я уверен, что это легко, но я потерян, поэтому я очень признателен за любую помощь. Спасибо!

Теги:
fetch

2 ответа

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

halfdan отвечает на несколько видов работ, но он извлекает все строки и отображает их. То, что вы хотите, - это предложение WHERE, которое позволяет фильтровать содержимое таблицы, чтобы запрос возвращал только нужные строки:

SELECT username, name
FROM sometable
WHERE (username = 'johndoe');

Это вернет только те строки, где поле имени пользователя равно "johndoe". Концептуально это эквивалентно:

$results = mysql_query("SELECT username, name FROM table");
while($row = mysql_fetch_assoc($results)) {
    if ($row['username'] == 'johndoe') {
        // do something, this is a row you want
    } else {
        // not a row you want. ignore it, or deal with it some other way
    }
}

Основное отличие состоит в том, что для больших наборов данных в базе данных фильтрация на стороне клиента, как это, является дорогостоящей, так как все содержимое таблицы должно быть перенесено. Использование предложения WHERE для ограничения того, что вы хотите, гораздо более эффективно в долгосрочной перспективе.

4
$sql = "SELECT username, name FROM table";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)) { 
    echo "This {$row['username']} has the name {$row['name']}\n";
}
  • 0
    Ударь меня по кнопке отправки. Это сделает это за вас.

Ещё вопросы

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