나는 뉴스 피드를위한이 코드를 가지고 있으며 "더 많은로드"기능을위한 코드와 결합되어있다. 업데이트 테이블은 뉴스 피드의 업데이트가있는 곳입니다. username_poster
은 뉴스 피드에 표시되는 업데이트를 게시하는 사람의 사용자 이름입니다. $last_msg_id
은 다음에로드 할 내용을 나타내는 뉴스 피드의 마지막 게시물의 ID를 나타냅니다.이 MySQL 오류는 어떻게 수정합니까?
내가 가지고있는 문제는 내 코드가이 스크립트를 호출 할 때마다 결코로드되지 않는다는 것입니다. 내가 코드를 밖으로
username_poster IN
(SELECT user_id FROM scuela_following WHERE follower_id = '".$_SESSION['username']."')`
을 가지고 있지만 최대한 빨리 그것을에서 추가로, 그것은 작동이 중지 될 때 스크립트는 잘 작동합니다. 어떤 도움이라도 대단히 감사하겠습니다.
"... WHERE follower_id = '".$_SESSION['username']."' ..."
는 첫째 제대로 탈출되지 및 SQL 주입 취약점이있을 수 있습니다 :
<?php
$last_msg_id=$_GET['last_msg_id'];
$sql=mysql_query("SELECT * FROM updates_table WHERE id < '$last_msg_id' AND username_poster IN
(SELECT user_id FROM scuela_following WHERE follower_id = '".$_SESSION['username']."')
ORDER BY id DESC LIMIT 5");
$last_msg_id="";
while($row=mysql_fetch_array($sql))
{
}
?>
나는 오류를 보지 않고도 추측 할 수 있습니다 ... username_poster가 문자열 유형이고 user_id가 정수이면 문제가 발생할 것입니다. – Gigi