2013-08-01 2 views
0

그래서 아래 코드를 게시하겠습니다. 코드 아래에 내 질문에 대한 답변이 표시됩니다.MySQL 쿼리 관련 문제 - INSERT INTO

if (!empty($_SESSION['username']) && !empty($_SESSION['password'])) 
{ 

$server=mysql_real_escape_string($_POST['server']); 
$teamname=mysql_real_escape_string($_POST['teamname']); 
$creator=$_SESSION['username']; 
$verify = mysql_real_escape_string($_POST['verify']); 
$date = date("F j, Y, g:i a"); 

if (!empty($teamname)) { 
// if ($verify == "wookie" || 
// $verify == "Wookie" || 
// $verify == "WOOKIE") 
// { 
     $sql="INSERT INTO rated_teams (server, name, creator, created, players, win, loss) 
          VALUES ('$server', '$teamname', '$creator','$date', '', '', '')"; 

     if (mysql_query($sql,$con)) 
      { 
      echo "<p>Added ". $teamname . " on " . $server . " by " . $creator . " on " . $date ." <br /><a href='myprofile.php'>Return to Profile</a></p>"; 
      } 
     else 
      { 
      echo $sql . "<br />"; 
      echo "<br /><h1>Error</h1>"; 
      echo "<p><a href='myprofile.php'>Sorry, your team registration has failed. Please go back and try again.</a></p> 
      <br />" . $teamname . " on " . $server . " by " . $creator . " on " . $date; 
      } 
    //} else { echo "That isn't how you spell Wookie!"; } 
} else { echo "Team Name is empty, <a href='myprofile.php'>go back and give yourself a Team Name</a>"; } 
} else { echo "You must be <a href='login.php'>logged in</a>!"; } 

이 문제는 라인이 "경우 (상 mysql_query ($의 SQL, $ 콘이))"를 ELSE에 직접가는 것입니다. 나는 문제가 내 $ SQL과 함께 거짓말을하고있어하지만 그게 어디 있는지 정확히 지적 할 수 없다. 또 다른 한 쌍의 눈은 정말로 도움이 될 것입니다. 무리 감사!

+1

; '그런 다음 쿼리를 가져 와서 PHPMyAdmin을 사용하여 테스트하십시오. –

+1

쿼리 호출에 오류 처리를 추가하지 않는 이유는 무엇입니까? 문제에 대한 통찰력을 제공하는 MySQL 오류를 캡처 할 수 있습니다. –

+1

아마도 귀하의 데이터는 어딘가에 SQL을 무효로 만드는 아포스트로피가 있습니까? 실제로 매개 변수가있는 쿼리를 사용해야합니다. –

답변

0

mysql_query()으로 오류를 추적하려면 mysql_error()을 사용해야합니다. 여기에 또한 PHP mysql_error() doc

$sql="INSERT INTO rated_teams (server, name, creator, created, players, win, loss) 
         VALUES ('$server', '$teamname', '$creator','$date', '', '', '')"; 

    mysql_query($sql,$con); 
    if (mysql_errno()) { 
     $error = "MySQL error ".mysql_errno().": ".mysql_error()."\n<br>When executing:<br>\n$sql\n<br>"; 

     // Your stuff 
     echo $sql . "<br />"; 
     echo "<br /><h1>Error</h1>"; 
     echo "<p><a href='myprofile.php'>Sorry, your team registration has failed. Please go back and try again.</a></p> 
     <br />" . $teamname . " on " . $server . " by " . $creator . " on " . $date; 
     } 
    else { 
      echo "<p>Added ". $teamname . " on " . $server . " by " . $creator . " on " . $date ." <br /><a href='myprofile.php'>Return to Profile</a></p>"; 
     } 

중 하나의 영감을받은 예는, mysql_*는 PHP 5.x의 이후 사용되지 않기 때문에 당신이 PDO 또는 mysqli을 사용해야의이`에코 $의 SQL과 같은 SQL $ 인쇄 할 수 있습니다

+0

@Akam 감사합니다! 내 기본 키에 auto_increment를 추가하는 것을 잊었습니다. DERP. – CSharpMinor