2011-02-24 5 views
1

확인이 아웃, 흰둥이입니다 열은 게시 된 사용자 이름으로 구성됩니다. 그러나 이것은 때때로 만 작동합니다. 어떤 코드도 변경하지 않고이 방법을 때로는 수행해야하며 다른 경우에는 아무 것도 수행하지 않습니다. 이상한.이 MySQL의 구문은 때로는 작동하고 때로는 그것이 나던 ... (심각)

if (isset($_POST['state'])) { 
    $state = $_POST['state']; 
} 

if (isset($_POST['username'])) { 
    $username = $_POST['username']; 
} 

if (isset($_POST['frienduser'])) { 
    $frienduser = $_POST['frienduser']; 
} 

$connect = mysql_connect("localhost", "root", ""); 
mysql_select_db("TagDB"); 

$query = mysql_query("UPDATE friendtable SET state = '$state' WHERE (userA = '$frienduser' AND userB = '$username')"); 

동일합니다. 때로는 완벽하고 다른 경우에는 변화가 없습니다. 나는 무엇이 다를 수 있는지 전혀 모른다. 필자의 단서는 phpmyadmin을 통해 MySQL의 값을 수동으로 변경하는 경우가 있습니다. 수동으로 일부 값을 입력하기 때문에 혼란 스러울 수 있습니까? 나는 그렇게 생각하지 않을 것이지만, 내가 가진 유일한 단서입니다. 코드가 있는지 살펴보고 시간이 있다면이 이상한 문제를 일으킬만한 것을 발견 할 수 있는지 확인하십시오. 고맙습니다.

+0

오류가 있습니까? 로그? – Spilarix

+0

Offtopic : 탈출하지 않고 $ _POST 변수를 사용하여 심각한 SQL Injection 취약점이 있습니다. – Dogbert

+0

준비된 문을 사용하는 경우이 문제가 없어야합니다. – BoltClock

답변

1

나는 완전히 바보입니다. 나는이 문제에 부딪 칠지도 모른 누군가를 도울 답변으로 게시하고 있습니다. 기본적으로 다양한 입력이 작동하는지 확인하기 위해 상태를 0으로 변경합니다. 그런 다음 페이지를 새로 고침하여 입력을 한 후에 상태가 변경되었는지 확인합니다. 그러나 페이지를 새로 고칠 때 이전의 mysql 요청을 새로 고쳤다 ... 상태를 0으로 설정했다. 그래서 새로 고침으로써 나는 방금 한 일을 정말로 취소했다. 이 모든 것을 당신에게 불편을 드려 죄송합니다.하지만이 게시물은 앞으로 다른 사람에게 도움이되기를 바랍니다. 감사!

관련 문제