Результат SQL-запроса в виде строки (или переменной) - PullRequest
5 голосов
/ 04 августа 2009

Можно ли вывести результат запроса SQL в одну строку или переменную? (Я плохо в PHP и MySQL) Допустим, у меня есть db "агенты" со столбцами - agent_id, agent_fname, agent_lname, agent_dept.

Используя этот запрос:

$sql = SELECT a.`agent_fname` FROM agents a WHERE a.`agent_dept` = 'FCA'

Я хочу получить строку или переменную, чтобы я мог использовать ее в любом месте моего php-файла (т.е. $ my_variable, который выводит результат моего запроса). Является ли это возможным? Если да - как?

Спасибо!

* У меня есть несколько строк.

Ответы [ 3 ]

5 голосов
/ 04 августа 2009

Я предполагаю, что вы делаете что-то вроде:

$result = mysqli_query ($link, $sql).

«i» в mysqli означает «улучшенный», что вы должны использовать в эти дни.

Этот результат в $ пока не является вашим выводом. Вы должны позвонить:

while ($row = mysqli_fetch_assoc($result)) {
     print_r ($row);
}

Приведенный выше код дает вам $ row, который является вашим фактическим выводом, в виде массива.

3 голосов
/ 04 августа 2009
$result = mysql_query($sql);

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("Name: %s", $row['agent_fname'],);  
}
0 голосов
/ 04 августа 2009

Если вы хотите передать одну переменную, представляющую ваши записи. Вы можете построить двумерный массив. как:

$records = array();
$mysqli_result = mysqli_query ($link, $sql);

while ($row = mysqli_fetch_assoc($result)) {
     $records[] = $row;
}

Это даст вам переменную массива $ records, которая будет содержать все ваши результаты. Который легко обойти. (возможно, как аргумент для другой функции.) ОДНАКО , это шаблон, который может съесть много памяти.

Гораздо лучше обойти $ mysqli_result.

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