запрос без цикла - PullRequest
       2

запрос без цикла

7 голосов
/ 10 января 2011

Я хочу запросить из записей БД для одного поста (заголовок, тело, дата)

Например, у меня есть запрос ..

$query = 'SELECT * FROM posts WHERE id=$post_id';

Из этого запроса, как я могу повторить заголовок, например, без цикла while или foreach?

Ответы [ 4 ]

5 голосов
/ 10 января 2011

Вы можете просто вызвать mysql_fetch_assoc () (или любую аналогичную функцию). Как это:

$sql = "SELECT * FROM table";
$row = mysql_fetch_assoc( mysql_query($sql) );
echo $row['title'];

Это самый простой и читаемый способ сделать это с помощью функций MySQL.

3 голосов
/ 10 января 2011

Вы можете использовать mysql_result :

$sql = 'SELECT * FROM posts WHERE id=$post_id';
$query = mysql_query($sql);
echo mysql_result($query, 0, 'title');

Это отобразит поле title для первой (0) строки.

1 голос
/ 28 июля 2018

Вы можете использовать этот код для запроса выбора без использования цикла while:

$ conn - это соединение с базой данных

$sql = "SELECT * FROM teacher_details";
$row = mysqli_fetch_assoc($conn->query($sql) );
$teacher_name = $row['teacher_name'];
1 голос
/ 10 января 2011

Когда вы используете такие функции, как mysql_fetch_array, вы не обязаны выполнять итерации. Даже когда вы делаете это, вы просто получаете результат следующей доступной строки, пока она не вернет ноль:

$query = mysql_query("SELECT * FROM table");
while($row = mysql_fetch_array($query)) {
    var_dump($row);
}

Итак, технически то же самое для каждой строки в запросе:

$query = mysql_query("SELECT * FROM table");

$row = mysql_fetch_array($query)
var_dump($row);
// Array()
$row = mysql_fetch_array($query)
var_dump($row);
// Array()
$row = mysql_fetch_array($query)
var_dump($row);
// null < the "while" statment will stop here

Затем вы можете позвонить mysql_fetch_array один раз и все.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...