Я написал ниже запрос для извлечения записей из БД, соответствующих значению id. Но этот запрос возвращает все записи вместо одной записи, id = 1.Почему приведенный ниже запрос возвращает все записи вместо одного?
$movie_id=$_GET['id']; //assume movie_id=1
//$sql ='select * from tbl_movie where movie_id='.$_GET["id"];
$sql='SELECT M.movie_name, MC.on_screen_name, R.role, C.celebrity_name, C.celebrity_id, MI.production, MI.director,'
. ' MI.screenplay, MI.music, MI.bgm_score, Col.movie_running_time, L.language, CC.censor_certificate,'
. ' MR.movie_review_comment, A.award_name'
. ' FROM tbl_movie M INNER JOIN tbl_movie_awards MA INNER JOIN tbl_movie_details MD'
. ' INNER JOIN tbl_movie_cast MC on MC.movie_id='.$movie_id
. ' INNER JOIN tbl_actor_role R on MC.movie_role_id=R.role_id AND MC.movie_id='.$movie_id
. ' INNER JOIN tbl_celebrity C on MC.movie_celebrity_id=C.celebrity_id AND MC.movie_id='.$movie_id
. ' INNER JOIN tbl_awards A on MA.award_id=A.award_id AND MA.award_movie_id='.$movie_id
. ' INNER JOIN tbl_language L on MD.movie_language_id=L.language_id'
. ' INNER JOIN tbl_censor_certificate CC on MD.censor_id=CC.censor_id AND MD.movie_id='.$movie_id
. ' INNER JOIN tbl_movie_info MI on MI.movie_info_id='.$movie_id
. ' INNER JOIN tbl_movie_collection Col on Col.movie_id='.$movie_id
. ' INNER JOIN tbl_tt_movie_review MR on MR.movie_review_id='.$movie_id.';';
$result = $db->getData($sql);
if(!empty($result))
{
while($row=$result->fetch_assoc())
{
$movie_name=$row['movie_name'];
}
}
getData
функция, написанная в другом файле:
public function getData($query)
{
$result=$this->myconn->query($query);
if($result->num_rows>0)
{
return $result;
}
else
{
echo ' error in query execution'.$this->myconn->error;
}
}
Я не знаю, что проблема в приведенном выше запросе. Может ли кто-нибудь предложить, как получить правильный ответ?
Действительно ли ваше значение GET действительно? Почему вы не ускользнули от него или не подверглись насилию? – Martin
Uh ... попробуйте добавить 'WHERE id = 1'? –
@ Мартин, да, значение GET действительно. теперь у меня есть typecast это значение и назначено $ movie_id = (int) $ _GET ['id']; Также я не задаю вам второй вопрос. – user3452547