Форум → Программирование → PHP для идиотов → Работа с БД(MySQL)
Работа с БД(MySQL)
-
Наверное даже тут этот вопрос не уместен=((
Можно ли в пхп сценарии создавать самому таблицы в БД(или это делается только в командой строке(ну или myphpadmin если я не ошибаюсь))! Не отказался бы от человеческой документации по работе с MySQL из пхп..
А что именно сейчас так это: Как записать в созданную таблицу данные(ну т.е. новую строку). Добавление сообщений допустим…
1. Таблица notes (список записей):
id - primary key
user_id - пользователь
create_time - дата создания
public - доступно всем/личная
title - заголовок
body - тело сообщения
вот такие данные из формы надо передать… -
28 сентября 2007 г. 19:33, спустя 25 минут 54 секунды
CREATE TABLE название таблицы на латинском(
…
);
А что нет доступа к панели phpMyAdmin?
Мне в свое время помогла эта статья по Mysql
зы…и гугл :) -
28 сентября 2007 г. 19:48, спустя 14 минут 37 секунд
В общем, читай статьи, юзай поиск, но главное осознать одну вещь: твой скрипт - такой же клиент сервера БД как и phpmyadmin, ничуть не хуже. И может выполнять SQL запросы, в т.ч. и на создание таблиц. А ограничение на те или иные виды запросов, зависят не от типа клиента (твой скрипт, phpmyadmin, клиент командной строки, gui-клиент), а от тех прав которые настроены в базе данных для пользователя от имени которого клиент соединяется с сервером. -
28 сентября 2007 г. 19:57, спустя 8 минут 41 секунду
2AlexB, спасибо за разъеснение…в принципе для моих запросов пока всё освоено, но хочу лишний раз убедиться
Создал таблицу, написал первую строку(mysql_query("INSERT INTO test_zero VALUES (1, 'Заголовок статьи',
'Текст статьи')", $msconnect);
Далее добавление строк производим через эту же команду?
И разъесните плиз работуmysql_query("UPDATE test_zero SET(num='2', title='Заголовок 2')
WHERE num=1", $msconnect);
Что,чем, на что меняется? а то не очень ясно всё=((( -
28 сентября 2007 г. 20:20, спустя 23 минуты 33 секунды
Допустим создадим таблицу - test_zero
Таблица будет состоять из ID(одна из выжных составляющих каждой таблицы),title,text
Составим sql запрос к БДCREATE TABLE test_zero(
id INT(11) NOT NULL AUTO_INCREMENT,
title text,
text text,
PRIMARY KEY(`id`)
);
INT - один из нескольких типов для хранения целочисленных данных
NOT NULL - указывает,что поле нельзя оставлять пустым
AUTO_INCREMENT - поле ID автоматически заполняется путем увеличения значения из предыдущей строки
PRIMARY KEY - один из важных параметров…
Как загонять в таблицу данные?INSERT INTO `test_zero` ( `id` , `title` , `text` )
VALUES (
'', 'Заголовок', 'Текст'
);
Как редактировать?UPDATE `test_zero` SET `title` = 'Заголовок 2',
`text` = 'Текст 2' WHERE `id` =1 LIMIT 1 ;
Удалять?DELETE FROM `test_zero` WHERE `id` = 1
-
28 сентября 2007 г. 20:31, спустя 10 минут 24 секунды
2Pasha,хмм… т.е. в пхп через query можно с скобках написать то же самое что и через командную строку? т.е. к твоему запросу надо добавитьmysql_query("CREATE TABLE test_zero(
id INT(11) NOT NULL AUTO_INCREMENT,
title text,
text text,
PRIMARY KEY(`id`)
)",$mscon); // $mscon - конект к базе
И в бд появиться такая таблица?
а INT(11) не даст id вырасти за 11 знаков? -
28 сентября 2007 г. 20:36, спустя 5 минут 6 секунд
/*Соединение с базой данных…*/
$sql = 'INSERT INTO `test_zero` (`id`, `title`, `text`) VALUES ('''', ''Заголовок'', ''Текст'')';
$result = mysql_query($sql,$connect);
mysql_free_result($result); //Освобождаем всю память,связанную с результирующим набором
mysql_close($connect); //Закрыли подключение -
28 сентября 2007 г. 20:43, спустя 7 минут 18 секунд
2Pasha,хмм… т.е. в пхп через query можно с скобках написать то же самое что и через командную строку?
И в бд появиться такая таблица?
Как я уже сказал выше, можно и появится, если есть для этого достаточно прав. Другой вопрос, что нужда в динамическом создании таблиц бывает крайне редко, а уж для начинающего программиста это и подавно не нужно.
Обычно структуру базы проектируют заранее, можно для этого воспользоваться специальными средствами (я предпочитаю Power Designer). Сгенеренный этими средставми скрипт (в нем все CREATE и будут) выполняется один раз (например через phpmyadmin), а уж твоему ПХП-скрипту остается только добавлять/извлекать данные в готовые таблицы. -
28 сентября 2007 г. 20:47, спустя 4 минуты 12 секунд
2AlexB,Pasha, спасибо вроде теперь всё ясно остались мелкие вопросы.. которые думаю сам додумаю… ещё раз спасибо! -
29 сентября 2007 г. 8:54, спустя 12 часов 7 минут 16 секунд
Не могу найти ничего подходящего, подскажите как реализовать следующее:
Необходимо чекбокс передать в БД… Но для меня это двойнная проблема:Как вывести данные из чекбокса и что они будут из себя представлять-булевскую,текст,цифру? Затем есть ли в мускле тип для переменной именно того типа которая выводится из чекбокса… Просто необходимо сделать проверку на наличие public(опубликовать для всех или нет) а данные из формы пишу в БД -
29 сентября 2007 г. 12:31, спустя 3 часа 36 минут 37 секунд
в mysql храни поле типа binary, которое может принимать значение 0 и 1
чекбокс если не отмечен, то вобще не передается, а если отмечен, то прийдёт как $_POST['checkbox'] = 'on'; (ну или гет…)все умрут, а я изумруд -
29 сентября 2007 г. 14:01, спустя 1 час 29 минут 42 секунды
хмм… тогда в базу мне надо его через if !empty писать надо??? -
29 сентября 2007 г. 16:11, спустя 2 часа 9 минут 55 секунд
ага
$checkbox = (isset($_POST['checkbox']) && $_POST['checkbox']=='on') ? 1 : 0;
а потом пихаем в базувсе умрут, а я изумруд
Пожалуйста, авторизуйтесь, чтобы написать комментарий!