2015-06-24 2 views
0

У меня есть таблица, которая имеет следующую дату столбцов (формат даты), TIME_ID (целое число), местоположение (VARCHAR), статус (число) и я следующий запросвыборки данных из PHPMyAdmin с помощью PHP

$time=1; 
$cur_date=date("Y-m-d"); 
$location=1; 
$sql="select status from final where location = $location AND date='".$cur_date."' AND time_id=$time"; 
$query=mysqli_query($conn,$sql); 
$row=mysqli_fetch_array($query); 
$stat=$row['status']; 
echo $stat; 

$location, $cur_date, $time show правильное значение на echo. Но результаты запроса NULL.I проверили базу данных, и в соответствии с этим запрос должен возвращать строку. Я думаю, что я ошибся в написании предложения where, но не могу понять это. Заранее спасибо

EDIT изменения $ места для «$» места в запросе SQL сделали работу Thanx :)

+0

'$ location',' $ cur_date', '$ time' откуда вы получаете эти значения? добавьте вывод этих переменных, чтобы мы могли помочь u. – Noman

+0

сделано так, как вы можете видеть Я определил их явно в коде –

+0

У вас есть пробелы вокруг вашей даты (между '' 'и' ''). Поскольку они находятся в кавычках, они являются частью совпадающего значения. – Siguza

ответ

0

Необходимо выполнить правильный запрос по вашему запросу. потому что ваше местоположение строка, и она должна быть в одинарных кавычках location = '".$location."'

$sql="select status from final where location = '".$location."' AND date='".$cur_date."' AND time_id = '".$time."'"; 
0

Удалить пространство от ' ".$cur_date." ' одинарных кавычек. Тогда запрос будет

$sql="select status from final where location = $location AND date='".$cur_date."' AND time_id=$time"; 

Также вы получаете значение переменной состояния в $ стата и печати $ статуса, который не где определен.

$stat=$row['status']; 
echo $status; 

Это неправильно.

+0

Я уже удалил пробелы и переименовал имя переменной laso по-прежнему не использует –

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