2010-03-15 2 views
0

내가 사용하고 스크립트는조건이 충족되지 않으면 PHP가 실행될 때 MySQL 쿼리가 수행됩니까?

if($profile['username'] == $user['username']) { 
    $db->query("UPDATE users SET newcomments = 0 WHERE username = '$user[username]'"); 
    echo "This is a test"; 
} 

경우 매우 이상한 이유로

, MySQL의 쿼리도 수행되고있다 (즉, $ DB-> 쿼리는 정확하게는 mysql_query과 동일합니다)입니다 정의 된 조건이 거짓

은 "이 테스트는"제대로 작동 만 조건이 충족 될 때 나타나지만 MySQL의 쿼리 어쨌든

을 수행 뭐죠 그것의 문제?

+0

내가 더 이상 보이지 않습니다. 다른 쿼리가 관련되어있을 수 있습니다. – Pentium10

+0

이 조각이 속한 전체 스크립트를 게시 할 수 있습니까? 다른 문제가있는 것처럼 보입니다. 에코가 수행되지 않으면 쿼리를 실행할 수 없습니다. –

+0

$ db-> query ("UPDATE 사용자 SET newcomments = 0 WHERE username = '$ user [username]'"); ---이 사용자 이름 = '{$ user ['username ']}' "); 그렇지 않으면 알림이 생성됩니다. – Andy

답변

0

일반적으로 이러한 질문에 대한 답변은 다른 곳에서 제공됩니다. 어쩌면 유사한 SQL 코드가 다른 곳에서 호출 될 수 있습니까?

+0

하지만 그 스크립트를 제거하려고 시도한 다음 쿼리가 수행되지 않았습니다. – Ryan

+0

SQL 문이 성공적으로 실행된다는 것을 알고 있습니까? – Brandi

+0

일시적으로 "또는 die (mysql_error())를 추가하는 것뿐만 아니라 PHPMyAdmin에서 코드를 테스트 한 결과 – Ryan

0

코드가 정상적으로 보입니다. 시도해보기 :

echo "<pre>"; 
print_r($profile); 
print_r($user); 

예상했던대로 확인하십시오.

0

나는 이것을 믿는 데 어려움을 겪고있다.

$query=""; 
if($profile['username'] == $user['username']) { 
    $query ="UPDATE users SET newcomments = 0 WHERE username = '" . $user[username] . "' "; 
    echo "This is a test"; 
} 

echo $query; 
$db->query($query); 
관련 문제