2015-10-05 4 views
3

привет, я использую запрос вставки с другим шаблоном, поэтому я просто хочу, чтобы вставить текущую дату в базу данных, но я не могу найти место для размещения $ date in insert queryКак вставить текущую дату в базу данных mysql

$date = date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $date)));  

$sql="INSERT INTO `delivery`(product_id,pr_name,pr_price,pr_size,user_id) 
     SELECT `product_id`,`pr_name`,`pr_price`,`pr_size`, `userid` 
     FROM `shopping_cart` WHERE `userid` = $uid"; 
+0

создать или найти столбец даты в таблице и передать $ date – rocky

+0

Возможный дубликат [вставить дату в базу данных mysql] (http: // stackoverflow.com/questions/2736830/insert-a-date-in-mysql-database) –

+0

@rocky Я уже создал столбец даты, но как добавить это через запрос, который я объяснил там – Talhiner

ответ

2

Вы не должны пройти дату или дату и время из PHP, если вы хотите даты/DateTime во время исполнения Yours запросов Query, вместо этого вы можете использовать встроенные функции MySQL, чтобы сделать это

чтобы вставить текущую дату & использования времени NOW()

$sql="INSERT INTO `delivery`(product_id,pr_name,pr_price,pr_size,user_id, dt) 
    SELECT `product_id`,`pr_name`,`pr_price`,`pr_size`, 
     `userid`, NOW() 
    FROM `shopping_cart` WHERE `userid` = $uid"; 

Чтобы вставить текущую дату только использовать CURRENT_DATE()

$sql="INSERT INTO `delivery`(product_id,pr_name,pr_price,pr_size,user_id, dt) 
    SELECT `product_id`,`pr_name`,`pr_price`,`pr_size`, 
     `userid`, CURRENT_DATE() 
    FROM `shopping_cart` WHERE `userid` = $uid"; 

Эти запросы что у вас есть столбец с именем dt в вашей delivery таблице. Пожалуйста, измените имя столбца, если отличается в схеме, или добавить date или datetime столбца в таблице, если у вас нет какого-либо еще

+0

Did not I say say this 8 минут назад? 'NOW()' отлично, независимо от формата столбца. MySQL будет работать все это – RiggsFolly

+0

Да, это то же самое, что я просто пытался сделать, и он был решен благодаря помощи. Я очень ценю вашу помощь и быстрый ответ. – Talhiner

+0

@RiggsFolly, используя 'NOW()' для 'date', сгенерирует * данные, усеченные для столбца 'dt' в строке 1 * warning. CURRENT_DATE() не будет – mynawaz

4

Вам не нужно делать захват даты в PHP, если вы хотите, чтобы дата была датой, как на момент выполнения запроса. Вы можете использовать функцию MySQL NOW(), просто добавьте ее во внутренний запрос в правильном столбце, чтобы соответствовать столбцам внешних запросов.

$sql="INSERT INTO `delivery` (product_id,pr_name,pr_price,pr_size,user_id, PR_DATE) 
    SELECT `product_id`,`pr_name`,`pr_price`,`pr_size`, `userid`, NOW() 
    FROM `shopping_cart` WHERE `userid` = $uid"; 
1

Я не могу понять ваше ясно. Как правило, мы вводим текущую дату как

  • CurDate()
  • Sysdate()
+5

Это комментарий, а не ответ – RiggsFolly

1

Используйте сейчас() в запросе, чтобы получить текущую дату.

+2

Это комментарий, а не ответ – RiggsFolly

1

Прежде всего вам нужно проверить, есть ли у вас столбец текущей даты или нет в таблице базы данных. Если нет, вам нужно добавить столбец для хранения текущей даты и использовать этот столбец в своем запросе.

Вы можете использовать время/DateTime/теперь функцию(), чтобы сохранить текущую дату (выбрать один согласно вашему требованию)

$sql="INSERT INTO `delivery` (product_id,pr_name,pr_price,pr_size,user_id, curr_date) 
SELECT `product_id`,`pr_name`,`pr_price`,`pr_size`, 
     `userid`, timestamp 
FROM `shopping_cart` WHERE `userid` = $uid"; 
+1

Это комментарий, а не ответ – RiggsFolly

2

Если вы хотите вставить свою собственную дату затем использовать согласно ценам ниже

$date = date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $date)));  

$sql="INSERT INTO `delivery`(product_id,pr_name,pr_price,pr_size,user_id, your_date_column) 
     SELECT `product_id`,`pr_name`,`pr_price`,`pr_size`, 
       `userid`, '$date' 
     FROM `shopping_cart` WHERE `userid` = $uid"; 

Если вы хотите поместить текущую дату затем использовать как на ценам ниже

$sql="INSERT INTO `delivery`(product_id,pr_name,pr_price,pr_size,user_id, your_date_column) 
     SELECT `product_id`,`pr_name`,`pr_price`,`pr_size`, 
       `userid`, CURDATE() 
     FROM `shopping_cart` WHERE `userid` = $uid"; 

Примечание: Если вы хотите вставить с течением времени, то теперь использовать().

+0

Не так ли @mynawaz именно это за 9 минут до этого? – RiggsFolly

+1

вы должны обернуть '$ date' в апострофы, например' '$ date'' – mynawaz

Смежные вопросы