#php #database #date
#php #База данных #Дата
Вопрос:
Что не так с этим кодом:
'tiercommissionexpiration' => date('Y-m $post["billingPeriodExpiration"]-d', strtotime($post['commissionEligibilityDate'])),
commissionEligibilityDate
это дата, и я хочу добавить определенное число, которое вводится в текстовое поле $_POST['billingPeriodExpiration']
, в базу данных ‘teircommissionexpiration’
Спасибо
Комментарии:
1. Я думаю, сначала вы должны изменить $ post на $_POST.
Ответ №1:
Я предлагаю вам прочитать о строках PHP и date
функции. Я понятия не имею, какое значение вы пытаетесь опубликовать, но вы не можете вставить значение POST в строку, заключенную в одинарные кавычки, подобным образом, и это было бы $_POST
в любом случае.
date('Y-m' . $_POST['billingPeriodExpiration'] . '-d', ...)
date("Y-m{$_POST['billingPeriodExpiration']}-d', ...)
ни то, ни другое не сработало бы, но, по крайней мере, было бы синтаксически корректным для целей синтаксического анализа с помощью PHP — даже если date() в любом случае завершится неудачей.
Ответ №2:
Я думаю, что ошибка здесь в неправильном написании $post['billingPeriodExpiration']
. Вы должны написать, $_POST
а не $post
. В любом случае вам также придется заключать строку в двойные кавычки (не одинарные кавычки).
Ответ №3:
Замените $post[«billingPeriodExpiration»] на $_POST[‘billingPeriodExpiration’]
Ответ №4:
'Y-m $post["billingPeriodExpiration"]-d'
вероятно, должно быть
"Y-m {$_POST['billingPeriodExpiration']}-d"
Обратите внимание на двойные кавычки и фигурные скобки.
Ответ №5:
Во-первых, вы не можете встроить переменную в одну строку с апострофом.
Во-вторых, в $ post вам, вероятно, следует написать $ _POST
И вместо этих функций попробуйте использовать классы DateTime и DateInterval.
Ответ №6:
'tiercommissionexpiration' => date("Y-m {$_POST["billingPeriodExpiration"]-d}", strtotime($_POST['commissionEligibilityDate'])),
Переменные не заключаются в одинарные кавычки (‘), а $_POST
var должен быть заглавным и иметь подчеркивание. Кроме того, вы должны использовать скобки {} вокруг переменных массива в строках. (пример $n = "your name is {$user["name"]}";
)
Комментарии:
1. Я ввел ‘tiercommissionexpiration’ => date(«Y-m {$ post [‘billingPeriodExpiration’]}-d», strtotime($post [‘commissionEligibilityDate’])) и это не сработало, дата в commissionEligibilityDate — 2011-11-08, и я ввел 2 в billingPeriodExpiration, и я ожидал получить 2012-01-08, но я получаю 1969-12-31.
Ответ №7:
Считается хорошей практикой заключать переменные в {}
вот так:
date("Y-m {$post['billingPeriodExpiration']}-d")
Таким образом, PHP не будет жаловаться на одинарные кавычки ''
для индекса массива.