Задать вопрос
@9StarRu

Как исправить sql select запрос в MySQL?

Получаю список данных по двум датам, часто получаю ошибки:


Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE DATE(p_date) BETWEEN '' AND ''' at line 1 in /var/www/u1372324/data/www/api/index.php:13 Stack trace: #0 /var/www/u1372324/data/www/offerscheck.ru/api/index.php(13): mysqli->query('SELECT * FROM ...') #1 {main} thrown in /var/www/u1372324/data/www/api/index.php on line 13


Мой код:

$coin = $_GET['coin'];
    $start = $_GET['start'];
	$end = $_GET['end'];
	
if (!empty($coin) && !empty($start) && !empty($end)) {

$result = $mysqli->query("SELECT * FROM $coin WHERE DATE(p_date) BETWEEN '$start' AND '$end'");


while($row = $result->fetch_assoc()) // получаем все строки в цикле по одной
{
    echo ''.$row['p_date'].' - '.$row['coin_price'].' - '.$row['coin_price_2'].'</p>';// выводим данные
}

$mysqli->close();

}else{
	echo 'trush';
	exit;
}


Как исправить select запрос?
Так и не понял в чем проблема.

После добавление проверки на пустоту, стал получать статус trush, т.е. что-то не проходит в сам select запрос.
  • Вопрос задан
  • 541 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
SagePtr
@SagePtr
Еда - это святое
Вероятнее всего, переменная $coin у вас пустая и запрос получается невалидным. Вообще подобным образом переменные, полученные извне, в запрос пихать - весьма опасная затея, любой может исковеркать ваш запрос и сделать с БД практически всё что угодно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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