У меня есть таблица поощрений:

inc_id  int(11)          
inc_date    date    
inc_projectname     varchar(256)         
inc_amount  varchar(256)         
inc_developer_id    int(11)      
inc_sales_id    int(11)  
inc_developer_amt   varchar(256)    
inc_sales_amt   varchar(256)

Я пытаюсь написать sql-запрос для получения записи определенного пользователя между двумя датами. Для этого используется следующая функция:

 public function  get_all_incentive_by_id ($userid,$inc_from,$inc_to) {  

        //$result = DB::fetch('select * from incentive_table ORDER BY inc_date ASC;');

        $result = DB::fetch("select * from incentive_table where inc_date > '$inc_from' AND inc_date < '$inc_from' ORDER BY inc_date ASC");


        return $result;
        } 

Ошибка: нет выхода.

Обязательно: я хочу получить результат между двумя датами по идентификатору пользователя.

2
BANNA 25 Фев 2014 в 21:55
1
inc_date < '$inc_to'
 – 
Patrick Q
25 Фев 2014 в 21:58
А) Какой формат есть $inc_from и $inc_to? б) Что возвращает статическая функция fetch() класса DB? c) Несомненно, это должно быть inc_date < '$inc_to'?
 – 
BenM
25 Фев 2014 в 21:58
Вы используете $ inc_from дважды, я думаю, это должно быть inc_date <'$ inc_to'
 – 
CodeBird
25 Фев 2014 в 21:58
Fetch - это моя функция класса DB, расширенный класс PDO.
 – 
BANNA
25 Фев 2014 в 22:00
Как писать используя между? $ result = DB :: fetch ("выберите * из таблицы стимулов WHERE (inc_date BETWEEN '$ inc_from' AND '$ inc_to')"); Вроде нормально. Но как я передаю ему идентификатор пользователя, мне нужны данные конкретных пользователей.
 – 
BANNA
25 Фев 2014 в 22:01

1 ответ

Лучший ответ
$result = DB::fetch("SELECT * FROM incentive_table WHERE inc_date BETWEEN '$inc_from' AND '$inc_to' AND inc_sales_id ='$userid'" ORDER BY inc_date ASC");
0
vignesh pbs 25 Фев 2014 в 22:28
Теперь я все еще исправляюсь, если вы находите ошибки, точно укажите, где это происходит
 – 
vignesh pbs
25 Фев 2014 в 22:23
Нужно также включить фильтр по идентификатору пользователя
 – 
BANNA
25 Фев 2014 в 22:24
$ result = DB :: fetch ("выберите * из таблицы стимулов WHERE (inc_date BETWEEN '$ inc_from' AND '$ inc_to') AND inc_sales_id = '$ userid'");
 – 
BANNA
25 Фев 2014 в 22:24
1
Он по-прежнему полон ОШИБОК, если вы не знаете sql, почему вы отвечаете, тем более, что все ответы, которые ему нужны, есть в комментариях. К вашему сведению: это неверно inc_date МЕЖДУ '$ inc_from' И inc_date
 – 
CodeBird
25 Фев 2014 в 22:25