2011-06-08 2 views
0

У меня есть скрипт, который проверяет таблицу submitgame, и если оба утверждают и утверждают, что 2 не пустые, он вставляет данные в кланстаты. Нет mysql_error, он просто перенаправляет заголовок, не вставляя ничего в таблицу clanstats, поэтому я понятия не имею, что происходит. Ниже приведен код.INSERT INTO не заполняет таблицу базы данных

<?php 
include("user.php"); 
$id = $_GET['id']; 
$result = mysql_query("SELECT * FROM submitgame WHERE id='$id'") or die(mysql_error()); 
$playerclan = $row['playerclan']; 
$opponentclan = $row['opponentclan']; 
$win = $row['win']; 
$approve1 = $row['approve1']; 
$approve2 = $row['approve2']; 
if($win == "won") { 
    $win = 1; 
    $points = 2; 
    $win2 = 0; 
    $points2 = 1; 
} 
else { 
    $win = 0; 
    $points = 1; 
    $win2 = 1; 
    $points2 = 2; 
} 
if($approve1 != "" && $approve2 != "") { 
    $query=mysql_query("INSERT INTO clanstats (clan, points, wins) VALUES ('$playerclan', '$points', '$win')"); 
    $query=mysql_query("INSERT INTO clanstats (clan, points, wins) VALUES ('$opponentclan', '$points2', '$win2')"); 
    echo mysql_error($query); 
} 
else { 
    header("location:../approvegames.php"); 
} 
mysql_close($con); 
header("location:../approvegames.php"); 
?> 
+0

@Alex вам необходимо выбрать код и нажмите на иконку '{}' над текстовой области, чтобы показать код. В основном, что он делает, просто добавьте четыре пробела перед каждой строкой, которые затем корректно отображаются в виде кода. – Lobo

+0

Хорошо спасибо. ^^ – vacarsu

+0

Вы уверены, что выполнены два запроса на вставку? Я имею в виду, если переменные $ approve1 или $ approve2 отличаются от пустой строки? –

ответ

0
<?php 
    //first off are you connecting, ill presume so 
    include("user.php"); 
    //sql injection!!! 
    $id = mysql_real_escape_string($_GET['id']); 
    $result = mysql_query("SELECT * FROM submitgame WHERE id='$id' limit 1") or die(mysql_error()); 
    //you were missing this 
    $row=mysql_fetch_array($result); 
    $playerclan = $row['playerclan']; 
    $opponentclan = $row['opponentclan']; 
    $win = $row['win']; 
    $approve1 = $row['approve1']; 
    $approve2 = $row['approve2']; 

    if($win == "won") { 
     $win = 1; 
     $points = 2; 
     $win2 = 0; 
     $points2 = 1; 
    }else{ 
     $win = 0; 
     $points = 1; 
     $win2 = 1; 
     $points2 = 2; 
    } 

    if($approve1 != "" && $approve2 != "") { 
     //you can have multiple inserts 
     $query=mysql_query("INSERT INTO clanstats (clan, points, wins) VALUES 
     ('$playerclan', '$points', '$win'), 
     ('$opponentclan', '$points2', '$win2')"); 
     header("location:../approvegames.php"); 
     //adding die after the header will make sure nothing else gets executed 
     die(); 
    }else{ 
     header("location:../approvegames.php"); 
     die(); 
    } 
    //no need to kill the connection as it will close when the script exits 
    ?> 
+0

OH! вы абсолютно правы! xD ничего себе ... Я чувствую себя таким глупым. >. < – vacarsu

+0

np, получайте удовольствие ... –

0

Я думаю, что вам не хватает строки. Возможно, что-то вроде:

$row = mysql_fetch_row($result) 
Смежные вопросы