Php: Как использовать $ _POST в предложении where - PullRequest
0 голосов
/ 18 марта 2012

У меня проблема с этим, я не могу получить данные из базы данных.

Это прекрасно работает

$user_date = ISSET($_POST['input_date']);

$query1=mysql_query("SELECT START_TIME,END_TIME FROM dummy where MDATE='2012-03-18'")

но это не так. единственное изменение - я использовал $ user_date

$user_date = ISSET($_POST['input_date']);

$query1=mysql_query("SELECT START_TIME,END_TIME FROM dummy where MDATE='$user_date'")

Ответы [ 2 ]

3 голосов
/ 18 марта 2012

isset() возвращает логическое значение, если переменная была установлена, а не значение самой переменной.Вам нужно что-то вроде:

$user_date = isset($_POST['input_date']) ? mysql_real_escape_string($_POST['input_date']) : '';

Выше приведена троичная операция.Если входное значение было установлено, оно экранируется и сохраняется в $user_date.В противном случае возвращается пустая строка.Вам нужно будет решить, какое действие предпринять, когда оно не установлено, часть после :.Например, вместо этого вы можете вернуть дату по умолчанию:

$user_date = isset($_POST['input_date']) ? mysql_real_escape_string($_POST['input_date']) : '2012-03-18';
0 голосов
/ 18 марта 2012

Это нормально,

$user_date = ISSET($_POST['input_date']);

isset retun логический,

используйте следующее

if (ISSET($_POST['input_date']))
$user_date = $_POST['input_date'];
$query1=mysql_query("SELECT START_TIME,END_TIME FROM dummy where MDATE='$user_date'")

Кроме того, вы должны использовать функцию mysql_reapl_escape_string или аналогичную, чтобы избежать внедрения sql.

Надеюсь, это поможет!

...