Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Добавление данных в поле с определением DATETIME
 
 автор: SilentChild   (02.04.2008 в 12:55)   письмо автору
 
 

Вот так я получаю дату и в ремя:

<?php
 $res 
mysql_query("SELECT now()"$link_id);
    
$datetime mysql_fetch_row($res);
    
$dt $datetime[0];
?>


А так добавляю дату и время, которые содержаться в переменной $dt в поле с определением DATETIME:

<?php
  mysql_query
("INSERT INTO news(newsdatetime) VALUES( $dt )"$link_id);
?>


Вопрос: я все правильно делаю?

   
 
 автор: webwizard   (02.04.2008 в 13:12)   письмо автору
 
   для: SilentChild   (02.04.2008 в 12:55)
 

Вот так нужно:

<?php 

 $result 
mysql_query("SELECT * FROM имя_таблицы (WHERE дополгительные условия)";
  if (
$result 
   {
      
$datetime mysql_fetch_array($result); 
      
$dt datetime['имя_поля']; 
   }   

   else
      echo 
"Ошибка выборки данных.";

 -------
А так вставлять данные:----------

      
$save "INSERT INTO имя_таблицы VALUES ('здесь данные для полей таблицы')"
       
      
$temp mysql_query($save);

            if (
$temp)
                echo 
"Всё ОК";

            else
                echo 
"Произошла ошибка при добавлении данных;
?>

   
 
 автор: SilentChild   (02.04.2008 в 13:32)   письмо автору
 
   для: webwizard   (02.04.2008 в 13:12)
 

У меня дату и время не вставляет! Из за чего может быть?

   
 
 автор: webwizard   (02.04.2008 в 14:09)   письмо автору
 
   для: SilentChild   (02.04.2008 в 13:32)
 

Возможно неправильный формат поля базы данных.

А вообще нужно смотреть весь дамп базы данных + код

   
 
 автор: SilentChild   (02.04.2008 в 14:29)   письмо автору
 
   для: webwizard   (02.04.2008 в 14:09)
 

<?php
//подключаюсь к базе данных:
$link_id mysql_connect("localhost""root""123234456");

//использую базу данных "andrey":
mysql_query("USE andrey"$link_id);

//создаю таблицу "newsdate" с одним полем "newsdatetime":
mysql_query("CREATE TABLE newsdate(newsdatetime DATETIME NOT NULL)"$link_id);

//извлекаю текущую дату и время:
$res mysql_query("SELECT now()"$link_id);
$datetime mysql_fetch_row($res);
$dt $datetime[0];

//добавляю данные в таблицу:
$insert mysql_query("INSERT INTO newsdate(newsdatetime) VALUES($dt)"$link_id);
if (!
$insert)
{
  echo 
"Данные не удалось вставить!";
}


//я хочу чтобы в результате работы созданная таблица выглядела бы так:
+--------------------+
|                    |
|  
newsdatetime      |
|                    |
+--------------------+
|                    |
|
2008-04-02 14:35:25 |
|                    |
+--------------------+

// но выдается сообщение:  "Данные не удалось вставить!"
?>


дело наверное в формате переменной $dt ?

   
 
 автор: webwizard   (02.04.2008 в 15:19)   письмо автору
 
   для: SilentChild   (02.04.2008 в 14:29)
 

Как Вы можете извчечь данные, если таблица пустая?

И вообще создаётся ли она у Вас?

Прежде всего, вам нужно создать дамп базы данных:

CREAT TABLE newsdate
 {  
 datetime DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'    
 };


Для этого пользуйтесь phpmyadmin или клиентским сервером баз данных (консольная стока).

Вначале нужно добавить запись, например так:

INSERT INTO newsdate VALUES( now() )

А затем извлекать:

SELECT * FROM newsdate

Не создавайте таблицы с помощью PHP (CREATE TABLE.....) используйте сервер mySQL

   
 
 автор: SilentChild   (02.04.2008 в 15:37)   письмо автору
 
   для: webwizard   (02.04.2008 в 15:19)
 

Таблица создается нормально!
Я данные не извлекаю из какой-либо таблицы т.к. "SELECT now()" - это встроенная функция в SQLе, достаточно написать эту команду и MySQL выдает дату и время в указанном выше формате.

И вобще у меня работает все кроме вписывания в таблицу той самой даты, а дата нормально извлекается, вопрос в том как вставить эти данные?

   
 
 автор: webwizard   (02.04.2008 в 15:47)   письмо автору
 
   для: SilentChild   (02.04.2008 в 15:37)
 

Как у Вас выглядит дамп базы данных?

   
 
 автор: SilentChild   (02.04.2008 в 15:50)   письмо автору
 
   для: webwizard   (02.04.2008 в 15:47)
 

Это что такое?

   
 
 автор: webwizard   (02.04.2008 в 15:53)   письмо автору
 
   для: SilentChild   (02.04.2008 в 15:50)
 

Вот в этом вся проблема?

Это описание полей Вашей базы данных с указанеием их формата. Если Вы хотите вставить тип DATETIME, то нужно иметь соответствующее поле определённое например так:

datetime DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'

тогда Вы сможете вставлять и извлекать данные из этого поля, в противном случае, это невозможно!

   
 
 автор: SilentChild   (02.04.2008 в 16:01)   письмо автору
 
   для: webwizard   (02.04.2008 в 15:53)
 

Дак я же указал дамп выше, вот так я создавал:
newsdatetime DATETIME NOT NULL

   
 
 автор: mihdan   (02.04.2008 в 16:04)   письмо автору
 
   для: SilentChild   (02.04.2008 в 12:55)
 


<?
$sql 
"INSERT INTO news(newsdatetime) VALUES('".date('Y-d-m H:i:s')."')";
?>

   
 
 автор: SilentChild   (02.04.2008 в 16:22)   письмо автору
 
   для: mihdan   (02.04.2008 в 16:04)
 

Так тоже не катит! А нет подожди.... да..да-да......да-да-дААААААААААААААААААА!!
УррррааааАААААААААААААААААА!
РаботаетТТТТ!

СПААААССССИБО большое! =)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования