Печать, когда в MySQL / PHP есть только одна запись

0

Какой лучший способ печати из MySQL с использованием PHP, когда вы знаете, что будет только одна запись?

Мой оператор SQL:

select user from users where user = 'norman';

Это приведет к возврату только одной записи. Так что лучший способ распечатать? Я сейчас делаю:

while ($info=mysql_fetch_assoc($data))

и т.д.

Но это нормально для нескольких записей. Любой лучший способ сделать это, когда есть только один?

  • 0
    Проверьте, что у вас есть хотя бы 1 значение, а затем извлеките его и обработайте. Если вы проверите num_rows и его 1, вы можете сделать выборку, если его> 1, вы можете использовать цикл while.
  • 1
    Чтобы всегда возвращать один результат И, чтобы ускорить выполнение запроса, добавьте LIMIT 1 в конец запроса.
Теги:

4 ответа

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

Если вы абсолютно уверены, что этот запрос всегда будет извлекать 1 строку, этого должно быть достаточно:

$row = mysql_fetch_assoc(mysql_query($sql));

Затем вы можете манипулировать $row (одна строка) по своему желанию.

1

Попробуйте следующее:

<?php
    include 'config.php';
    include 'opendb.php';

    $query  = "select user from users where user = 'norman";
    $result = mysql_query($query);

    while($row = mysql_fetch_array($result))
    {
        echo "Name :{$row['user']}";
    }

    include 'closedb.php';
    ?>
1

$row = mysql_fetch_assoc(mysql_query($sql));

сделайте то, что хотите:

echo $row['value'];

Вам нужно знать заранее, что это вернет одну строку. Вы можете использовать функцию:

function fetch_single_row($sql){
  $result = mysql_query($sql);
  if (mysql_num_rows($result) > 1){
    return false;
  }
  return mysql_fetch_assoc($result);
}
  • 0
    Использование функции значительно медленнее, чем просто выполнение $row = mysql_fetch_assoc(mysql_query($sql)); , но делает ваш код чище и более устойчивым к ошибкам :-)
0

Вы можете просто отказаться от времени. Вероятно, это ускорит выполнение на минуту быстрее.

Ещё вопросы

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