Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 14.11.2017
Сообщений: 6
MySQL

Вытаскивать данные из базы

14.11.2017, 14:35. Показов 876. Ответов 11

Студворк — интернет-сервис помощи студентам
Здравствуйте.
У меня ошибки в коде:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$r = mysql_query("SELECT * FROM message WHERE 'poluchatel'='$id'", $db) or die ("MySQL-ошибка");
while($row = mysql_fetch_array($r))
{
$author = $r['author'];
$mess = $r['mess'];
$date = $r['date'];
$read = $r['read'];
    $q_1 = mysql_query("SELECT * FROM users WHERE 'id'='$author'") or die ("MySQL-ошибка");
    while($r_1 = mysql_fetch_array($q_1))
    {
        $name_author = $r_1['name'];
        $familia_author = $r_1['familia'];
Имеется две таблицы users и message. Пробую вывести из message информацию и подключить к таблицу users. Как сделать чтобы пользователь из сессии смог посмотреть свои сообщение, которые другой ему отправил?

Добавлено через 2 минуты
Решаю проблему уже третий день. Данные не выводятся и на страницы MySQL-ошибка. А где ошибка не понятно.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.11.2017, 14:35
Ответы с готовыми решениями:

Как лучше сделать вывод ключевых слов и описания? Через обработку текста скриптом или вытаскивать из базы?
пишу движок для сайта php, думаю как лучше сделать вывод ключевых слов и описания. Если делать сриптом обработки текста то нагрузка больше...

Где лучше хранить данные, в сессии, или каждый раз вытаскивать из базы по id?
Дело в том, что я делаю магазин и у меня возник вопрос, где все-таки лучше хранить данные для корзины, в массиве, записанном в сессию или в...

Пользоваться XML или "вытаскивать" данные непосредственно со страницы?
Может и банальный вопрос, но все же. Сегодня слушал длительный спор, по поводу использования API различных ресурсов и их XML. Идея...

11
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
14.11.2017, 15:09
Имена таблиц, столбцов нужно помещать в обратные кавычки `table_name`
Чтобы не тратить 3 дня на поиски ошибки, следует заменить не информативное сообщение MySQL-ошибка на что-то более полезное, например на mysql_error
0
0 / 0 / 0
Регистрация: 14.11.2017
Сообщений: 6
14.11.2017, 20:23  [ТС]
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CREATE TABLE IF NOT EXISTS `users` (
  `id` INT(6) NOT NULL AUTO_INCREMENT,
  `login` VARCHAR(32) NOT NULL DEFAULT '',
  `familia` VARCHAR(50) NOT NULL DEFAULT '',
  `name` VARCHAR(40) NOT NULL DEFAULT '',
  `pass` VARCHAR(255) NOT NULL DEFAULT '',
  `email` VARCHAR(64) NOT NULL DEFAULT '',
  `ip_adres` VARCHAR(50) NOT NULL DEFAULT '',
  `icq` VARCHAR(12) NOT NULL DEFAULT '',
  `about` tinytext NOT NULL,
  `signature` tinytext NOT NULL,
  `photo` VARCHAR(32) NOT NULL DEFAULT '',
  `status` enum('user','moderator','admin') NOT NULL DEFAULT 'user',
  `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
 
 
CREATE TABLE IF NOT EXISTS `message` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `author` INT(11) NOT NULL,
  `poluchatel` INT(11) NOT NULL,
  `mess` text NOT NULL,
  `date` DATE NOT NULL,
  `read` enum('0','1') NOT NULL DEFAULT '0',
  `delet_author` enum('0','1') NOT NULL DEFAULT '0',
  `delet_poluchatel` enum('0','1') NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
 
//кабинет пользователя
session_start(); 
include($_SERVER['DOCUMENT_ROOT'].'../tema/sever.php');
//include($_SERVER['DOCUMENT_ROOT'].'../tema/config.php');
include($_SERVER['DOCUMENT_ROOT'].'../inc/pass.php');
 
$login = $_SESSION['login'];
$pass = $_SESSION['pass'];
 
$user_profile = mysql_query("SELECT * FROM `users` WHERE 'login'='$login'",$db);
$r = mysql_fetch_array($user_profile);
 
$id = $r['id'];
$name = $r['name'];
$familia = $r['familia'];
 
 
$h1 = 'Личные сообщения';
include($_SERVER['DOCUMENT_ROOT'].'../tema/header.php');
echo '<h1>Личные сообщения</h1>';
 
 
$act = $_GET['act'];
$act = mysql_real_escape_string ($act);
$act = htmlspecialchars($act);
$act = trim($act);
 
switch($act)
{
////Вывод всех сообщений ////
 
default:
$q = mysql_query("SELECT * FROM `message` WHERE 'poluchatel'='$id'") or die (mysql_error);
while($r = mysql_fetch_array($q)){
 
$author = $r['author'];
$mess = $r['mess'];
$date = $r['date'];
$read = $r['read'];
    
$q_1 = mysql_query("SELECT * FROM `users` WHERE 'id'='$author'") or die (mysql_error);
while($r_1 = mysql_fetch_array($q_1))
{
$name_author = $r_1['name'];
$familia_author = $r_1['familia'];
        
$str =<<<TXT
<table border="1">
<tr>
<td>$name_author $familia_author </td>
<td>$mess</td>
<td>$date </td>
<td>$read </td>
</tr>
</table>
TXT;
echo $srt;  
    }
}
 
break;
////Вывод всех входящих сообщений ////
 
 
////Вывод всех исходящих сообщений ////
case "inbox":
 
break;
 
}
 
 
include($_SERVER['DOCUMENT_ROOT'].'../tema/footer.php');
?>

Ошибок не появилась. Страница чистая.
Единственное что можно получить из файла, это вывод сессии пользователя используя echo $login;
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
14.11.2017, 21:33
asakow, что такое mysql_error понятно?
0
0 / 0 / 0
Регистрация: 14.11.2017
Сообщений: 6
15.11.2017, 09:02  [ТС]
Цитата Сообщение от Jewbacabra Посмотреть сообщение
что такое mysql_error понятно?
Нет вроде
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
15.11.2017, 09:22
Цитата Сообщение от asakow Посмотреть сообщение
Нет вроде
а документацию читал?
0
0 / 0 / 0
Регистрация: 14.11.2017
Сообщений: 6
15.11.2017, 12:13  [ТС]
Цитата Сообщение от Jewbacabra Посмотреть сообщение
а документацию читал?

PHP
1
echo mysql_errno($db) . ": " . mysql_error($db) . "\n";
Поставил в самый конец перед подключением шаблона.
Получил:

Ошибок база не выдала и также текст тоже не выдала
Миниатюры
Вытаскивать данные из базы  
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
15.11.2017, 12:20
А нужно не в конце, а после неудачного запроса
http://phpfaq.ru/debug
0
0 / 0 / 0
Регистрация: 14.11.2017
Сообщений: 6
15.11.2017, 12:37  [ТС]
Цитата Сообщение от Jewbacabra Посмотреть сообщение
неудачного запроса
Запросы проходят без ошибок - кроме 0 там не чего не стоит
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
15.11.2017, 16:07
Цитата Сообщение от asakow Посмотреть сообщение
'poluchatel'
PHP
1
`poluchatel`
Цитата Сообщение от asakow Посмотреть сообщение
mysql_error
PHP
1
mysql_error()

Цитата Сообщение от asakow Посмотреть сообщение
while($r = mysql_fetch_array($q)){ $author = $r['author']; $mess = $r['mess']; $date = $r['date']; $read = $r['read']; $q_1 = mysql_query("SELECT * FROM `users` WHERE 'id'='$author'") or die (mysql_error); while($r_1 = mysql_fetch_array($q_1))
один цикл вложенный в другой - у вас там хаос а не код))

объясните, что хотите поподробнее. с начала и до конца
0
0 / 0 / 0
Регистрация: 14.11.2017
Сообщений: 6
16.11.2017, 09:26  [ТС]
Цитата Сообщение от andyyy Посмотреть сообщение
что хотите поподробнее. с начала и до конца
чтобы помогли разобраться с запросами и выводами для создания модуля личные сообщение
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
16.11.2017, 11:45
Цитата Сообщение от asakow Посмотреть сообщение
чтобы помогли разобраться с запросами и выводами для создания модуля личные сообщение
две строчки


Цитата Сообщение от asakow Посмотреть сообщение
Как сделать чтобы пользователь из сессии смог посмотреть свои сообщение, которые другой ему отправил?
может просто посмотреть сообщения, который отправил другой?


можете так:
1. Users
id/user/
1/dima
2/petya
3/shasha
4/lena


2.messages

id/from_id/to_id/message
1/1(или по нику - dima)/2(или по нику petya)/привет, меня зовут дима, ты должен мне бабки!
2/4(или по нику - lena)/2(или по нику petya)/привет, меня зовут лена,\ и я жду ребенка от тебя!


3. На сайте

Если(Пользователь авторизовался то показать кнопку(личные сообщения) после нажатия на которую )

{//к примеру petya подключился

//подключение к базе,
//получить его id

$petya['id'];

//подключение к таблицы message и вывод всех сообщений из колонки to_id которые ==$petya['id']
}

4. конец
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.11.2017, 11:45
Помогаю со студенческими работами здесь

Все данные таблиц одной базы необходимо добавить в таблицы такой же базы.
В FoxPro я могу обойтись двумя операторами на на каждую таблицу: use А append from В и все записи таблицы В пишутся в конец таблицы...

Необходимо вводить данные в форму и сохранять данные в таблице базы данных
Подскажите пожалуйста новичку в деле программирования!Создаю базу данных в 2000 Access.Сохраняю базу в ту же папку что и проект на VB.Мне...

Создать пользователя базы данных который сможет читать данные и записывать данные в бд
Собственно вопрос в названии..НА русскомя языке нашел мало нужной инфы...

Вытаскивать все позиции из страницы
$url=file_get_contents(&quot;confin.txt&quot;); $pattern = '/Цена \d+/'; preg_match($pattern, $url, $matches); print_r...

Загрузить в ресурс картинки и вытаскивать их VBA
Добрый день. Помогите, пожалуйста выполнить код. 1. Не умею загружать в ресурс картинки (объясните как это сделать) 2. При нажатии на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru