@dind

Почему вместо данных в базу данных вставляется единица?

Сделал такой класс. в $data загоняется $_POST['body'] без каких-либо обработок, но в таблицу сохраняется цифра 1 вместо текста, а с остальными ячейками все ок, например $status = "approval", в чем может быть проблема?
public function insertClassified($data) {
		$date_added = date("m.d.y");
		$date_expired = date("m.d.y");
		$status = "approval";
		$result = mysql_query ( 'INSERT INTO `listings` ( `body`, `date_added`, `date_expired`, `status`) VALUES ( "'.mysql_real_escape_string($data).'", "'.mysql_real_escape_string($date_added).'", "'.mysql_real_escape_string($date_expired).'", "'.mysql_real_escape_string($status).'")');
		return $result;
  • Вопрос задан
  • 2437 просмотров
Решения вопроса 1
Dixi_Alex
@Dixi_Alex
какого типа поля где хранится дата?
если тип DateTime то формат даты должен быть в формате date('Y-m-d') // YYYY-MM-DD

также в данном случае нет смысла экранировать с помощью функции mysql_real_escape_string - так как данные вы получаете непосредственно в коде.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
VBKesha
@VBKesha
Сделайте
echo 'INSERT INTO `listings` ( `body`, `date_added`, `date_expired`, `status`) VALUES ( "'.mysql_real_escape_string($data).'", "'.mysql_real_escape_string($date_added).'", "'.mysql_real_escape_string($date_expired).'", "'.mysql_real_escape_string($status).'")'

И посмотрите получившейся запрос, потом будет проще понять что не так в запросе.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы