0
$sql="SELECT * FROM book_seat INNER JOIN seat ON book_seat.seat_id=seat.seat_id
INNER JOIN users ON book_seat.user_id=users.user_id
WHERE 1=1";
if($type)
{
$sql.= " AND seat.type=$type";
}
if($name)
{
$sql.= " AND users.name=$name";
}
if($flightdate)
{
$sql.= " AND book_seat.date_booked=$flightdate";
}
if($seat)
{
$sql.=" AND seat.seat=$seat";
}
모든 $type
, $flightdate
, $seat
에 괜찮습니다하지만 난 입력 $name
, 그것은 error.e.g를 제공하면 내가 입력 ABC, 그것은 다음을 제공합니다. 사용자 테이블에 name
열이 있습니다.MySQL의 오류 알 수없는 열 'ABC'
예외 (데이터베이스 예외) 메시지 'YII \ DB \ 예외' 'SQLSTATE [42S22]없는 컬럼 : 1,054 알 열의 : SELECT 절'는 SQL 실행 중 어디 에서 'ABC이었다 * INNER가 book_seat.seat_id = ON seat.seat_id 유저 가입 book_seat 1 = 1 AND users.name = ABC '
작은 따옴표 안에 이름 변수를 넣으십시오. –
'..AND \'users \'name \'= '$ name''와 같은 역 따옴표를 사용하십시오. – Riad
사용자 테이블에' 이름'? –