Необходимо считать одну строку из базы данных и вывести необходимые поля этой строки.
Код:
<?
include("bd.php"); <---- подключение к базе данных
$sql = "SELECT * FROM `Users` WHERE `Login` LIKE `".$_SESSION['Login']."` LIMIT 1"; <---поиск по базе пользователя
$result = mysql_query($sql);
$fio = mysql_fetch_field($result); <---запись строки в массив $fio (эта строчка 21 )
echo $fio['Surname']; <---вывод значения определенного поля
?>
Результат:
Warning: mysql_fetch_field(): supplied argument is not a valid MySQL result resource in R:\home\otdel.com\www\Profile.php on line 21
Подскажите плиз как правильно поступать с mysql_fetch_field,row,array и assoc
Спустя 3 минуты, 31 секунда (13.12.2011 - 17:58) inpost написал(а):
mysql_query($sql) or die(mysql_error());
Спустя 1 минута, 33 секунды (13.12.2011 - 18:00) Winston написал(а):
Значение для LIKE нужно брать в одинарные кавычки, а не в обратные апострофы
PS: познакомься с комментариями в PHP // или /* */
include("bd.php");
$sql = "SELECT * FROM `Users` WHERE `Login` LIKE '".$_SESSION['Login']."' LIMIT 1";
$result = mysql_query($sql) or die(mysql_error());
$fio = mysql_fetch_field($result);
echo $fio['Surname'];
PS: познакомься с комментариями в PHP // или /* */
Спустя 3 часа, 21 минута, 18 секунд (13.12.2011 - 21:21) oggy написал(а):
Доброе время суток.
использую функцию mysql_fetch_field
<?php
public function SelectFromTabel($table_name)
{
$this->ConnectBd();
$result=mysql_query("select* from $table_name");
$i=0;
while($i < mysql_num_fields($result))
{
echo $i;
$meta = mysql_fetch_field($result,$i);
echo "<pre>
$meta->name
</pre>";
$i++;
}
}
?>
как результат етого цыкла "$meta->name",присвоить сюда:
while($row=mysql_fetch_array($result))
{
echo $row=[$meta->name];// так пробую,некатит
}
использую функцию mysql_fetch_field
<?php
public function SelectFromTabel($table_name)
{
$this->ConnectBd();
$result=mysql_query("select* from $table_name");
$i=0;
while($i < mysql_num_fields($result))
{
echo $i;
$meta = mysql_fetch_field($result,$i);
echo "<pre>
$meta->name
</pre>";
$i++;
}
}
?>
как результат етого цыкла "$meta->name",присвоить сюда:
while($row=mysql_fetch_array($result))
{
echo $row=[$meta->name];// так пробую,некатит
}
Спустя 2 часа, 3 минуты, 13 секунд (13.12.2011 - 23:24) inpost написал(а):
oggy
Я что-то не совсем понял, это что, твоя тема и ты новый вопрос задаёшь? Если нет, что помешало тебе открыть свою тему? Ты понимаешь, что заходя в тему я хочу помогать ТС, а не тебе. А ты людей обманываешь!
Я что-то не совсем понял, это что, твоя тема и ты новый вопрос задаёшь? Если нет, что помешало тебе открыть свою тему? Ты понимаешь, что заходя в тему я хочу помогать ТС, а не тебе. А ты людей обманываешь!
Спустя 18 минут, 14 секунд (13.12.2011 - 23:43) TopRider написал(а):
Цитата |
oggy Я что-то не совсем понял, это что, твоя тема и ты новый вопрос задаёшь? Если нет, что помешало тебе открыть свою тему? Ты понимаешь, что заходя в тему я хочу помогать ТС, а не тебе. А ты людей обманываешь! |
СОГЛАСЕН!!!! Мне бы на свой вопрос ответ получить)
Кстати, одинарные кавычки - не выход;
и насчет "or die(mysql_error())" - таким образом возникнет ненужная дыра в переменной $fio и тем более, что result в любом случае существует (это блок изменения данных существующего профиля)
Спустя 16 минут, 44 секунды (13.12.2011 - 23:59) Self написал(а):
Ошибка, наверное.
Сделай как inpost написал, проверь.
Сделай как inpost написал, проверь.
Спустя 39 минут (14.12.2011 - 00:38) inpost написал(а):
TopRider
Что за юмор: одинарные кавычки не выход? Это как раз из-за них у тебя была ошибка.
Какая ещё дыра в переменной? Если ошибка в запросе, что есть на 100%, то тебе напишется это...
Что за юмор: одинарные кавычки не выход? Это как раз из-за них у тебя была ошибка.
Какая ещё дыра в переменной? Если ошибка в запросе, что есть на 100%, то тебе напишется это...
Спустя 4 минуты, 43 секунды (14.12.2011 - 00:43) dadli написал(а):
а такое можно написать? что ето будит вернуть?
( допустим запрос правилни и он вернул труе )
$fio = mysql_fetch_field($result);
echo $fio['Surname'];
( допустим запрос правилни и он вернул труе )
Спустя 3 минуты, 10 секунд (14.12.2011 - 00:46) TopRider написал(а):
Действительно ошибка) только дело вот в чем....пишет:
Fatal error: Cannot use object of type stdClass as array in R:\home\otdel.com\www\Profile.php on line 22
Fatal error: Cannot use object of type stdClass as array in R:\home\otdel.com\www\Profile.php on line 22
Спустя 6 минут, 56 секунд (14.12.2011 - 00:53) Self написал(а):
Цитата (TopRider @ 14.12.2011 - 01:46) |
Действительно ошибка) только дело вот в чем....пишет: Unknown column 'TopRider' in 'where clause' TopRider - это пользователь, который меняет свои данные и он точно есть в базе пользователей |
Неизвестный столбец в where
Fatal error: Cannot use object of type stdClass as array in R:\home\otdel.com\www\Profile.php on line 22
не может использовать объект как массив ...
Спустя 4 минуты, 48 секунд (14.12.2011 - 00:58) TopRider написал(а):
Как из переменной $fio вытянуть значения полей?????
Нечто похожее на:
Имя: $fio['Name']
Фамилия: $fio['Surname']
Нечто похожее на:
Имя: $fio['Name']
Фамилия: $fio['Surname']
Спустя 49 секунд (14.12.2011 - 00:59) dadli написал(а):
для того что вытянуть значении полеи, исползуи либо mysql_fetch_row либо mysql_fetch_assoc
Спустя 4 минуты, 40 секунд (14.12.2011 - 01:04) Self написал(а):
$fio->name ?
Спустя 11 минут, 5 секунд (14.12.2011 - 01:15) inpost написал(а):
mysql_fetch_field
замени на
mysql_fetch_assoc
замени на
mysql_fetch_assoc
Спустя 4 минуты, 42 секунды (14.12.2011 - 01:19) TopRider написал(а):
Цитата |
$fio->name ? |
Переделал с assoc, но в данном виде вообще не выводит ничего о_О
Спустя 1 минута, 8 секунд (14.12.2011 - 01:20) inpost написал(а):
Покажи код! Плюс выводить надо как $fio['name'] . Ты хоть читал мануал, как пользоваться assoc?!
Спустя 2 минуты, 43 секунды (14.12.2011 - 01:23) TopRider написал(а):
<?
include("bd.php");
$sql = "SELECT * FROM `Users` WHERE `Login` LIKE '".$_SESSION['Login']."' LIMIT 1";
$result = mysql_query($sql) or die(mysql_error());
$fio = mysql_fetch_row($result) or die(mysql_error());
echo $fio['Rang'];
?>
Ничего не выводит!
include("bd.php");
$sql = "SELECT * FROM `Users` WHERE `Login` LIKE '".$_SESSION['Login']."' LIMIT 1";
$result = mysql_query($sql) or die(mysql_error());
$fio = mysql_fetch_row($result) or die(mysql_error());
echo $fio['Rang'];
?>
Ничего не выводит!
Спустя 1 минута, 26 секунд (14.12.2011 - 01:25) inpost написал(а):
Я что-то не вижу у тебя assoc, как я написал, а вижу лишь row!
Спустя 37 секунд (14.12.2011 - 01:25) inpost написал(а):
И используй теги оформления кода [ php] .
Спустя 24 секунды (14.12.2011 - 01:26) TopRider написал(а):
Опа....отставить!!!!!Заработало!!
Inpost, блягодярю!!
п.с....случайно по совету забыл row на assoc поменять)))
Inpost, блягодярю!!
п.с....случайно по совету забыл row на assoc поменять)))