Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 54
1

Как сделать правильно ? mysql и php

12.11.2012, 16:13. Показов 1272. Ответов 5
Метки нет (Все метки)

Кто может исправьте ошибки - что то не хвататет ) задолбался говорит ошибка в 14 строке да и не только ))
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
<?
// Подключаемся к серверу, 
// на котором будем создавать базу данных.
// В данном случаи это локальный кеомпьютер на котором вы работаете.
// Его имя всегда localhost (если его специально не изменили).
$HOST = "localhost";        // имя сервера
$USER = "root";             // пользователь базы данных MySQL 
$PASS = "";                 // пароль для доступа к серверу MySQL 
$DB = "mysite";               // название создаваемой базы данных
 
 
if(!mysql_connect("$HOST", "$USER", "$PASS")) exit(mysql_error());
else {echo "";} 
 
CREATE TABLE IF NOT EXISTS `messages` (
  `id` int(9) NOT NULL AUTO_INCREMENT,
  `author` varchar(15) NOT NULL DEFAULT '',
  `poluchatel` varchar(15) NOT NULL DEFAULT '',
  `date` date NOT NULL DEFAULT '0000-00-00',
  `text` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=7 ;
 
INSERT INTO `messages` (`id`, `author`, `poluchatel`, `date`, `text`) VALUES
(2, 'coderman111', 'coderman', '2012-11-02', '?? ??? ????'),
(3, 'coderman', 'coderman', '2012-11-03', '????\r\n'),
(4, 'coderman', 'coderman', '2012-11-03', 'ffffff\r\n'),
(5, 'coderman', 'coderman', '2012-11-03', 'max\r\n'),
(6, 'coderman', 'coderman', '2012-11-03', '?');
 
CREATE TABLE IF NOT EXISTS `oshibka` (
  `ip` varchar(12) NOT NULL DEFAULT '',
  `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `col` int(1) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
 
INSERT INTO `oshibka` (`ip`, `date`, `col`) VALUES
('127.0.0.1', '2012-11-02 22:16:47', 2);
 
CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `login` varchar(15) NOT NULL DEFAULT '',
  `password` varchar(255) NOT NULL DEFAULT '',
  `avatar` varchar(255) NOT NULL DEFAULT '',
  `email` varchar(255) NOT NULL DEFAULT '',
  `activation` int(1) NOT NULL DEFAULT '0',
  `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `city` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;
 
INSERT INTO `users` (`id`, `login`, `password`, `avatar`, `email`, `activation`, `date`, `city`) VALUES
(1, 'coderman', 'e388f02f750e65ebba95ab9493cda01eb3p6f', 'avatars/1351880046.jpg', 'coderman@list.ru', 1, '2012-11-02 22:14:06', 'РіСЂСЏР·Рё'),
(2, 'coderman111', 'e388f02f750e65ebba95ab9493cda01eb3p6f', 'avatars/1351880221.jpg', 'egorov_max-48@mail.ru', 1, '2012-11-02 22:17:01', '???');
 
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
?>
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2012, 16:13
Ответы с готовыми решениями:

Как сделать красиво и правильно? ООП + PHP + MySQL
В одной из функций класса производится подключение к БД. Возможно ли реализовать что-то...

Как правильно связать сайт с PHP+MYSQL?
Привет всем, почти закончила свою первую верстку в HTML, на данный момент готово уже около 70%...

PHP, JavaScript и MySQL, как связать их правильно?
У меня вот такая проблема. Мне нужно достать соответствующий url из БД, чтоб при нажатии на сылку...

Сборка appache, php, mysql как правильно установить
Здравствуйте! А есть какая-нибудь подробная инструкция по настройке appache, php и mysql с...

5
Эксперт PHP
4913 / 3625 / 1248
Регистрация: 06.01.2011
Сообщений: 10,198
12.11.2012, 16:31 2
Это что ? Вы наверное так хотите:
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
<?
// Подключаемся к серверу, 
// на котором будем создавать базу данных.
// В данном случаи это локальный кеомпьютер на котором вы работаете.
// Его имя всегда localhost (если его специально не изменили).
$HOST = "localhost";        // имя сервера
$USER = "root";             // пользователь базы данных MySQL 
$PASS = "";                 // пароль для доступа к серверу MySQL 
$DB = "mysite";               // название создаваемой базы данных
 
 
if(!mysql_connect("$HOST", "$USER", "$PASS")) exit(mysql_error());
else {echo "";} 
 
    $sql = "CREATE TABLE IF NOT EXISTS `messages` (
  `id` int(9) NOT NULL AUTO_INCREMENT,
  `author` varchar(15) NOT NULL DEFAULT '',
  `poluchatel` varchar(15) NOT NULL DEFAULT '',
  `date` date NOT NULL DEFAULT '0000-00-00',
  `text` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=7 ;
 
INSERT INTO `messages` (`id`, `author`, `poluchatel`, `date`, `text`) VALUES
(2, 'coderman111', 'coderman', '2012-11-02', '?? ??? ????'),
(3, 'coderman', 'coderman', '2012-11-03', '????\r\n'),
(4, 'coderman', 'coderman', '2012-11-03', 'ffffff\r\n'),
(5, 'coderman', 'coderman', '2012-11-03', 'max\r\n'),
(6, 'coderman', 'coderman', '2012-11-03', '?');
 
CREATE TABLE IF NOT EXISTS `oshibka` (
  `ip` varchar(12) NOT NULL DEFAULT '',
  `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `col` int(1) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
 
INSERT INTO `oshibka` (`ip`, `date`, `col`) VALUES
('127.0.0.1', '2012-11-02 22:16:47', 2);
 
CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `login` varchar(15) NOT NULL DEFAULT '',
  `password` varchar(255) NOT NULL DEFAULT '',
  `avatar` varchar(255) NOT NULL DEFAULT '',
  `email` varchar(255) NOT NULL DEFAULT '',
  `activation` int(1) NOT NULL DEFAULT '0',
  `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `city` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;
 
INSERT INTO `users` (`id`, `login`, `password`, `avatar`, `email`, `activation`, `date`, `city`) VALUES
(1, 'coderman', 'e388f02f750e65ebba95ab9493cda01eb3p6f', 'avatars/1351880046.jpg', 'coderman@list.ru', 1, '2012-11-02 22:14:06', 'РіСЂСЏР·Рё'),
(2, 'coderman111', 'e388f02f750e65ebba95ab9493cda01eb3p6f', 'avatars/1351880221.jpg', 'egorov_max-48@mail.ru', 1, '2012-11-02 22:17:01', '???');
 
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;";
    
    # Выполняем запрос
    mysql_query( $sql );
?>
1
0 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 54
12.11.2012, 16:42  [ТС] 3
Не знаю ) - но похоже что так ))

Добавлено через 10 минут
не работает - мне нужно что бы когда выполнялся этот код создавалались таблицы
0
Эксперт PHP
4913 / 3625 / 1248
Регистрация: 06.01.2011
Сообщений: 10,198
12.11.2012, 17:00 4
Вы же БД не выбрали! Вот эти строчки кода:
PHP
1
2
if(!mysql_connect("$HOST", "$USER", "$PASS")) exit(mysql_error());
else {echo "";}
Замените этими строчками:
PHP
1
2
mysql_connect("$HOST", "$USER", "$PASS") or exit(mysql_error());
mysql_select_db( $DB );
1
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
12.11.2012, 17:43 5
mysql_query отсылает только один запрос, нужно разбивать все по отдельным запросам и отсылать поочереди
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16828 / 6706 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.11.2012, 22:40 6
проще и лучше чем разбивать использовать PDO или mysqli
PDO
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
<?
// Подключаемся к серверу, 
// на котором будем создавать базу данных.
// В данном случаи это локальный кеомпьютер на котором вы работаете.
// Его имя всегда localhost (если его специально не изменили).
$HOST = "localhost";        // имя сервера
$USER = "root";             // пользователь базы данных MySQL 
$PASS = "";                 // пароль для доступа к серверу MySQL 
$DB = "mysite";               // название создаваемой базы данных
 
 
try {
    $sql = "CREATE TABLE IF NOT EXISTS `messages` (
  `id` int(9) NOT NULL AUTO_INCREMENT,
  `author` varchar(15) NOT NULL DEFAULT '',
  `poluchatel` varchar(15) NOT NULL DEFAULT '',
  `date` date NOT NULL DEFAULT '0000-00-00',
  `text` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=7 ;
 
INSERT INTO `messages` (`id`, `author`, `poluchatel`, `date`, `text`) VALUES
(2, 'coderman111', 'coderman', '2012-11-02', '?? ??? ????'),
(3, 'coderman', 'coderman', '2012-11-03', '????\r\n'),
(4, 'coderman', 'coderman', '2012-11-03', 'ffffff\r\n'),
(5, 'coderman', 'coderman', '2012-11-03', 'max\r\n'),
(6, 'coderman', 'coderman', '2012-11-03', '?');
 
CREATE TABLE IF NOT EXISTS `oshibka` (
  `ip` varchar(12) NOT NULL DEFAULT '',
  `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `col` int(1) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
 
INSERT INTO `oshibka` (`ip`, `date`, `col`) VALUES
('127.0.0.1', '2012-11-02 22:16:47', 2);
 
CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `login` varchar(15) NOT NULL DEFAULT '',
  `password` varchar(255) NOT NULL DEFAULT '',
  `avatar` varchar(255) NOT NULL DEFAULT '',
  `email` varchar(255) NOT NULL DEFAULT '',
  `activation` int(1) NOT NULL DEFAULT '0',
  `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `city` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;
 
INSERT INTO `users` (`id`, `login`, `password`, `avatar`, `email`, `activation`, `date`, `city`) VALUES
(1, 'coderman', 'e388f02f750e65ebba95ab9493cda01eb3p6f', 'avatars/1351880046.jpg', 'coderman@list.ru', 1, '2012-11-02 22:14:06', 'РіСЂСЏР·Рё'),
(2, 'coderman111', 'e388f02f750e65ebba95ab9493cda01eb3p6f', 'avatars/1351880221.jpg', 'egorov_max-48@mail.ru', 1, '2012-11-02 22:17:01', '???');
 
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;";
    
    #connect to server and select database
    $db = new PDO('mysql:host=' . $HOST . ';dbname=' . $DB, $USER, $PASS);
    #set error mode to display errors
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    # Выполняем запрос
    $res = $db->exec($sql);
    if($res) 
       echo 'OK';
}
catch(PDOException $e) {
    echo $e->getMessage();
}
?>

mysqli
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
<?
// Подключаемся к серверу, 
// на котором будем создавать базу данных.
// В данном случаи это локальный кеомпьютер на котором вы работаете.
// Его имя всегда localhost (если его специально не изменили).
$HOST = "localhost";        // имя сервера
$USER = "root";             // пользователь базы данных MySQL 
$PASS = "";                 // пароль для доступа к серверу MySQL 
$DB = "mysite";               // название создаваемой базы данных
 
    $sql = "CREATE TABLE IF NOT EXISTS `messages` (
  `id` int(9) NOT NULL AUTO_INCREMENT,
  `author` varchar(15) NOT NULL DEFAULT '',
  `poluchatel` varchar(15) NOT NULL DEFAULT '',
  `date` date NOT NULL DEFAULT '0000-00-00',
  `text` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=7 ;
 
INSERT INTO `messages` (`id`, `author`, `poluchatel`, `date`, `text`) VALUES
(2, 'coderman111', 'coderman', '2012-11-02', '?? ??? ????'),
(3, 'coderman', 'coderman', '2012-11-03', '????\r\n'),
(4, 'coderman', 'coderman', '2012-11-03', 'ffffff\r\n'),
(5, 'coderman', 'coderman', '2012-11-03', 'max\r\n'),
(6, 'coderman', 'coderman', '2012-11-03', '?');
 
CREATE TABLE IF NOT EXISTS `oshibka` (
  `ip` varchar(12) NOT NULL DEFAULT '',
  `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `col` int(1) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
 
INSERT INTO `oshibka` (`ip`, `date`, `col`) VALUES
('127.0.0.1', '2012-11-02 22:16:47', 2);
 
CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `login` varchar(15) NOT NULL DEFAULT '',
  `password` varchar(255) NOT NULL DEFAULT '',
  `avatar` varchar(255) NOT NULL DEFAULT '',
  `email` varchar(255) NOT NULL DEFAULT '',
  `activation` int(1) NOT NULL DEFAULT '0',
  `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `city` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;
 
INSERT INTO `users` (`id`, `login`, `password`, `avatar`, `email`, `activation`, `date`, `city`) VALUES
(1, 'coderman', 'e388f02f750e65ebba95ab9493cda01eb3p6f', 'avatars/1351880046.jpg', 'coderman@list.ru', 1, '2012-11-02 22:14:06', 'РіСЂСЏР·Рё'),
(2, 'coderman111', 'e388f02f750e65ebba95ab9493cda01eb3p6f', 'avatars/1351880221.jpg', 'egorov_max-48@mail.ru', 1, '2012-11-02 22:17:01', '???');
 
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;";
    
    #connect to server and select database
    $db = new mysqli($HOST, $USER, $PASS, $DB);
    # Выполняем запрос
    $res = $db->multi_query($sql)
    if(!$res)
        throw new Exception('Error: '.$db->error);
    $db->close();


Добавлено через 2 минуты
правда не знаю насчет multi_query, что она скажет насчет запросов - там наверное надо транзакции, так не узнаешь об успехе))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2012, 22:40

Как правильно обновить MySQL и PHP по последней верси
Здравствуйте, хочу обновить PHP и MySQL, всё это стоит на Centos, как правильно обновить?

Как правильно создать таблицы mysql, имея php код?
Доброго время суток. У меня есть php страниц,от которых нет таблиц в БД mysql Помогите...

Выборка mysql, как правильно сделать json?
делаю выборку из базы через ajax. как правильно сформировать ответ json делаю так но получаю ...

Подскажите как сделать правильно запрос на MySql
Добрый день. Пожалуйста, подскажите как сделать запрос на вывод данных из MySQL Задача такая на...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.