2014-04-18 2 views
0

나는 콘텐츠 페이지를했습니다, 그리고에서 SQL 문 나는 내용을 제출하고 URL 페이지 예를 들어 때 : 나는 경우 확인하고있어 스크립트에서 category.php?nameID=Categoryname&id=25하면 기록 편집 내용 : PHP

이 콘텐츠를 제출 한 사용자가 로그인했습니다.

같은 사람이 콘텐츠를 제출하고 그는 페이지 상단에이 텍스트가 나타납니다 제출 된 콘텐츠 페이지로 이동하는 경우 : users 모든 레지스터라고

Edit this post 내가이 개 다른 테이블 하나를 사용하고 있습니다를 사용자가 있으며 사용자 호출 행은 username입니다. 두 번째 표는 post이고 그 행은 add이며 여기서 사용자 이름을 찾을 수 있습니다.

그래서 user.username & post.add이 예와 같습니다.

$sql = mysql_query("SELECT * FROM users 
         INNER JOIN post ON users.username = post.add 
         WHERE post.id = $id AND post.add = '$pakuser'") 
      or die(mysql_error()); 

당신은해야 : 당신은 문자열 값 따옴표가 필요 Unknown column 'admin' in 'where clause'

if($user->isLoggedIn()) { 
    $pakuser = $user->data()->username; 
    $sql = mysql_query("SELECT * FROM users INNER JOIN post ON users.username = post.add WHERE post.id = $id AND post.add = $pakuser") or die(mysql_error()); 
    if ($sql === FALSE) { 
    } 
    $row = mysql_fetch_array($sql); 
    if($row['add']) 
    {   
    echo '<p>edit this post</p>'; 
    } 
    } 
+0

질문 제목에 '해결'을 추가하지 말고 대신 도움이되는 대답을 수락하십시오. –

답변

0

: 당신이 admin

나는이 오류를 받고 있어요로 로그인 한 경우 admin을 username을하면이 스크립트 확인 mysqli 또는 PDO로 업그레이드하고 문자열 대체 대신 매개 변수화 된 쿼리를 사용하십시오.

+0

대단히 감사합니다! 그것의 작동, 예, 나는 PDO에 대한 튜토리얼을보고 있다는 것을 알고 있습니다. 어쨌든 PDO 덕분에 로그인 스크립트를 만들었습니다. – user3490572

+3

SQL 인젝션이 많이 있습니까? –