Мне не удалось вставить значения даты в базу данных. Он всегда показывал мне "0000-00-00"
, который я установил на дату, и это было "yyyy-mm-dd"
. Я попытался отладить мой запрос, и все в порядке, за исключением того, что значения даты не могут вставляться в базу данных. Есть ли какая-то ошибка в моем коде?Не удалось вставить дату в базу данных с помощью php
Вот мой код:
$from = $_POST['from'];
$newFrom = date("Y-m-d",strtotime($from));
// Get default database object
$db = JFactory::getDBO();
// Get a new JDatabaseQuery object
$query = $db->getQuery(true);
$tmpIds = array();
foreach($courseID as $cId) {
$tmpIds[] = $db->quote($cId);
//sanitize the input
}
$courseID1 = implode(',',$tmpIds);
// Build the query
$query->select($db->quoteName('courseid'));
$query->from($db->quoteName('intake'));
$query->where($db->quoteName('campusid').'='. $db->quote($campusID));
$query->where($db->quoteName('courseid').'IN('.$courseID1.')');
// Set the query for the DB oject to execute
$db->setQuery($query);
// Get the DB object to load the results as a list of objects
$results = $db->loadObjectList();
if($results){
$query = "UPDATE intake SET startdate = $newFrom WHERE campusid = '$campusID'";
echo "$query";
$db->setQuery($query);
$db->query();
}
else{ echo 'Error';}
}
var_dump ($ newFrom); – underscore
Каков тип поля «startdate» в вашей БД? –
Оберните свою переменную в кавычки 'SET startdate = '$ newFrom'', так как вы имеете дело со строками. –