Новый для mysql. У меня есть запрос и он не показывает значение ячейки только имя строки:
$sql="SELECT 'first' from `users` WHERE `id`= $userid ";
$res=mysql_query($sql) or die(mysql_error());
$row=mysql_fetch_assoc($res);
echo $row['first'] ;
Что я делаю неправильно?
Сначала удалите кавычки из "first" - это столбец, поэтому не помещайте его в кавычки, вы можете использовать `istead. Следующий цикл результатов и все.
$sql="SELECT first from `users` WHERE `id`= $userid ";
$res=mysql_query($sql) or die(mysql_error());
while($row=mysql_fetch_assoc($res))
echo $row['first'] ;
Скобки в вашем запросе неверны:
$sql = "SELECT 'first' from `users` WHERE `id` = $userid";
Должно быть:
$sql = "SELECT `first` from `users` WHERE `id` = $userid";
Заметная разница в first
$sql = "SELECT 'first' from
users
WHEREid
= $userid";
вы используете обычные кавычки для выбора вместо обратных ссылок, которые вы не выбираете из базы данных.
использование
$ sql = "SELECT first
from users
WHERE id
= $userid";
вместо
и примечание стороны: никогда не "убедитесь", что ваш запрос возвращает ровно 1 строку
используйте mysql_fetch_assoc() в цикле и проверьте, действительно ли вы извлекаете 1 результат.
SELECT 'first'
просто вернет строку сначала.
удалите кавычки.
Try:
echo $row[0]['first'];