2012-03-07 3 views
-2

EDIT 문제를 해결하고 오류보고를 사용하여 큰 따옴표 대 작은 따옴표와 관련하여 문제가 있음을 발견했습니다.PHP/MySQL 코드 문제

이 PHP/mySQL 코드를 가져 오는 데 문제가 있습니다. 그대로 빈 흰색 페이지를 표시합니다. 간단한 인쇄 명령을 코드의 다른 부분에 삽입하고 그 내용이 다음과 같은 범위를 벗어나는 한 해당 명령문을 인쇄합니다.

섹션 그것이 내가이 분야의 문제이거나 if/else 문과 관련되어 있다고 믿게 만듭니다.

<html> 
    <head> 
     <title>CS148 "Where Are You From?" Confirmation Page</title> 

     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <meta name="author" content="Stephen B. Wakita" /> 

     <meta name='description' content='Confirm Page for CS148 PHP Form Assignment.'/> 

     <link rel="stylesheet" href="mystyle.css" type="text/css" media="screen" /> 
    </head> 
    <body> 
    <?php 

    $dbh = mysql_connect('webdb.uvm.edu','swakita','password'); 

    if(!$dbh) 
    { 
     die('Could not connect: ' . mysql_error()); 
    } 

    mysql_select_db('SWAKITA', $dbh); 

    $confnum = mysql_real_escape_string($_GET['confnum']); 

    $tblname = mysql_real_escape_string('tblWhere'); 

    $sql = "SELECT * FROM $tblname WHERE fldConfirm='$confnum'"; 
    $check = mysql_query($sql); 

    if($check) { 
     $count = mysql_num_rows($check); 

     if($count == 1) { 

      $rows = mysql_fetch_array($check); 
      $username = $rows['pk_Username']; 


      $sql2 = "UPDATE $tblname(fldAdminLevel)VALUES('4')"; 
      $updater = mysql_query($sql2); 
     } else { 
      print "<p>Error: Couldn't find Confirmation code</p>"; 
     } 

     if($updater) { 
      print "<p>Thank you" . $username . ", you have been confirmed and can now access our members page.</p>"; 
     } 
    } 
    ?> 
    </body> 
</html> 
+1

켭니다

당신이 어떤 도움이 의견이 있는지 확인하기 위해이 작업을 시도하십시오. 논리 오류가 있는지 테스트하기 위해 언급 한 else 문 앞의 if 문에 일부 디버그 출력을 추가하십시오. –

+1

코드를 제대로 들여 씁니다. – Ryan

+0

dB 연결이 확실합니까? –

답변

0

나는

$sql2 = "UPDATE $tblname(fldAdminLevel)VALUES('4')"; 
$updater = mysql_query($sql2); 

으로 문제가되는쪽으로 기울고 있어요. php.ini 파일 오류보고에

if($check) { 
    $count = mysql_num_rows($check); 

    if($count == 1) { 

     $rows = mysql_fetch_array($check); 
     $username = $rows['pk_Username']; 


     $sql2 = "UPDATE $tblname(fldAdminLevel)VALUES('4')"; 
     $updater = mysql_query($sql2); 
     if(mysql_errno()){ 
      echo mysql_error(); 
     } 
    } else { 
     print "<p>Error: Couldn't find Confirmation code</p>"; 
    } 

    if($updater) { 
     print "<p>Thank you" . $username . ", you have been confirmed and can now access our members page.</p>"; 
    } 
} else { 
    echo "Variable $check fail."; 
} 
+0

또한 $ sql2 복사/붙여 넣기를 phpmyadmin에 붙여 넣어 쿼리를 테스트하거나 mysql 서버와 상호 작용을 시도하십시오. 위드는 어떤 문제를 하나씩 풀어 낸다. PHP에서 오류 처리에 따라, 그 기능을 죽이고 모든 응답을 막을 수 있습니다. – Blake