Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: MySQL
Форумы портала PHP.SU » PHP » Программирование на PHP » MySQL

Страниц (2): [1] 2 »
 

1. Morgan - 16 Сентября, 2008 - 12:03:07 - перейти к сообщению
Добрый день.

Говорю сразу, что с мускулом особо не дружу, по этому возникли вопросы.

У меня есть таблица ids структура
id|name|ip|mail|date_activate|date_deactivate|active

Допустим я добавлю двух пользователей:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. mysql_query("INSERT INTO `ids`(name,ip,mail,date_activate,date_deactivate,active) VALUES ('Артем"','127.0.0.1','майл2@mail.ru"','0','0','0')");
  3.  
  4. mysql_query("INSERT INTO `ids`(name,ip,mail,date_activate,date_deactivate,active) VALUES ('Димон','127.0.0.1','майл1@mail.ru','0','0','0')");
  5.  


И мне нужно вывести список всех E-Mail из столбца mail. Как это зделать. Пробовал так:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. $top_id = mysql_query("SELECT `mail` FROM `ids`");
  3. $get_list = mysql_fetch_assoc($top_id);
  4.  

Но так мне выводится только майл из первой строки. Как здлать так чтобы выводил из всех?
2. Lostoffuture - 16 Сентября, 2008 - 12:35:14 - перейти к сообщению
Цитата:
CODE:
скопировать код в буфер обмена

$top_id = mysql_query("SELECT `mail` FROM `ids`");
$get_list = mysql_fetch_assoc($top_id);


Но так мне выводится только майл из первой строки. Как здлать так чтобы выводил из всех?


А ГДЕ УСЛОВИЕ ЗАПРОСА?????

PHP:
скопировать код в буфер обмена
  1. $top_id = mysql_query("SELECT `mail` FROM `ids` WHERE 1");
  2. $get_list = mysql_fetch_assoc($top_id);

пробуйте так)))
3. Morgan - 16 Сентября, 2008 - 12:52:13 - перейти к сообщению
Я так пробовал, все равно возвращает мне только майл с id=1.
А мне нужно чтобы показывал майлы со всех id (строк)
4. Lostoffuture - 16 Сентября, 2008 - 13:01:02 - перейти к сообщению
Посмотрите что у вас в базе, сделайте выборку запросом
и попробуйте составить запрос в мysql самом , так хоть вы увидите правильно вы пишите или нет))))
5. Morgan - 16 Сентября, 2008 - 13:18:59 - перейти к сообщению
или вы меня не поняли либо я вас не понимаю.

вот смотрите:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. include("config.cfg.php");
  4. mysql_connect($host,$user,$pass)  or die("MYSQL Not");
  5. mysql_select_db($db)  or die("select Not");
  6. $sql = mysql_query("SELECT `mail` FROM `ids` WHERE `id`=1");
  7. $result = mysql_fetch_assoc($sql);
  8. print_r ($result);
  9. ?>
  10.  
  11. ВЫВОД: Array ( [mail] => neo794@yandex.ru )
  12.  


Так я могу написать если у меня в таблице будет только одна строка, но ведь у меня же их несколько (для примера две) и мне нужно чтобы выводилось содержимое столбца mail с двух строк.
6. Lostoffuture - 16 Сентября, 2008 - 13:24:46 - перейти к сообщению
хахахах..простите не удержался вы же сами говорите чтобы он выбрал вам `id`=1 вот и все работает правильно... вы получаете тот результат который запрашиваете
(Добавление)
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include("config.cfg.php");
  3. mysql_connect($host,$user,$pass) or die("MYSQL Not");
  4. mysql_select_db($db) or die("select Not");
  5. $sql = mysql_query("SELECT `mail` FROM `ids` WHERE 1");
  6. $result = mysql_fetch_assoc($sql);
  7. print_r ($result);
  8. ?>


пробуйте так
(Добавление)
в этом случае запрос составлен на выборку из таблицы ids всех записей которые есть в поле mail)))
7. Morgan - 16 Сентября, 2008 - 13:28:18 - перейти к сообщению
тоже самое
а WHERE id=1 я поставил для примера
8. Lostoffuture - 16 Сентября, 2008 - 13:34:08 - перейти к сообщению
Morgan пишет:
тоже самое
а WHERE id=1 я поставил для примера
вот смотрите на примере нужно выбрать из базы катылогов все имена папок,
PHP:
скопировать код в буфер обмена
  1. SELECT name FROM `photocat` WHERE 1

ответом запроса выводиться все названия папок
name
sadf
sdf

и так же вы не забывайте что вы выполняете запрос в массив, а выводите только его первый элемент
9. Champion - 16 Сентября, 2008 - 13:38:33 - перейти к сообщению
WHILE ($result = mysl_fetch_assoc($sql)) {
...............
}
10. Lostoffuture - 16 Сентября, 2008 - 13:39:20 - перейти к сообщению
вот именно)))
11. Morgan - 16 Сентября, 2008 - 14:02:15 - перейти к сообщению
Lostoffuture пишет:
и так же вы не забывайте что вы выполняете запрос в массив, а выводите только его первый элемент


в смысле они сохраняются в масив но мне показывают только первое значение?

а как тогда вытащить второе?
12. Lostoffuture - 16 Сентября, 2008 - 14:04:56 - перейти к сообщению
champion написал как вот еще раз
PHP:
скопировать код в буфер обмена
  1. WHILE ($result = mysl_fetch_assoc($sql)) {
  2. print_r ($result);
  3. }
  4. <?PHP
  5. include("config.cfg.php");
  6. mysql_connect($host,$user,$pass) or die("MYSQL Not");
  7. mysql_select_db($db) or die("select Not");
  8. $sql = mysql_query("SELECT `mail` FROM `ids` WHERE 1");
  9. WHILE ($result = mysl_fetch_assoc($sql)) {
  10. print_r ($result);
  11. }
  12. ?>
  13.  
  14.  
  15.  


все должно работать
13. whyte - 16 Сентября, 2008 - 14:07:58 - перейти к сообщению
WHILE ($result = mysl_fetch_assoc($sql)) {
print_r($result);
}

Результатом запроса является многомерный ассоциативный массив:
1 строка: [айди], [е-мэйл], [нэйм] ...(первый пользователь)
2 строка: [айди], [е-мэйл], [нэйм] ... (второй пользователь)

поэтому для результата запроса надо делать несколько раз фетч.

$result = mysl_fetch_assoc($sql); - вытащили первого пользователя
print_r($result); //вывели первого пользователя
$result = mysl_fetch_assoc($sql); - вытащили второго пользователя
print_r($result); // вывели второго пользователя.
14. Lostoffuture - 16 Сентября, 2008 - 14:10:21 - перейти к сообщению
whyte пишет:
WHILE ($result = mysl_fetch_assoc($sql)) {
print_r($result);
}

Результатом запроса является многомерный ассоциативный массив:
1 строка: [айди], [е-мэйл], [нэйм] ...(первый пользователь)
2 строка: [айди], [е-мэйл], [нэйм] ... (второй пользователь)

поэтому для результата запроса надо делать несколько раз фетч.

$result = mysl_fetch_assoc($sql); - вытащили первого пользователя
print_r($result); //вывели первого пользователя
$result = mysl_fetch_assoc($sql); - вытащили второго пользователя
print_r($result); // вывели второго пользователя.


но лучше использовать mysl_fetch_array()
15. Morgan - 16 Сентября, 2008 - 14:11:47 - перейти к сообщению
Lostoffuture пишет:
<?PHP
include("config.cfg.php");
mysql_connect($host,$user,$pass) or die("MYSQL Not");
mysql_select_db($db) or die("select Not");
$sql = mysql_query("SELECT `mail` FROM `ids` WHERE 1");
WHILE ($result = mysl_fetch_assoc($sql)) {
print_r ($result);
}
?>


выводит ошибку:
Fatal error: Call to undefined function mysl_fetch_assoc()
(Добавление)
все понятно просто была ошибка в слове mysql_fetch_assoc было написано mysl_fetch_assoc

 

Powered by ExBB FM 1.0 RC1