2013-04-24 158 views
0
<?php 
require("header.inc.php"); 
?> 

<?php 
if (isLoggedIn()) { 
    if (isset($_POST['CKey_Button'])) { 
     if (!isset($_POST['CKey'])) { 
      die("Error: The Character Key field was not set."); 
     } 
    } 

    $CKey = $_POST['CKey_Button']; 

    mysql_select_db("samp"); 

    $query = mysql_query("SELECT `id` FROM `players` WHERE `CharacterKey` = '" . mysql_real_escape_string($_POST['CKey']) . "' LIMIT 1"); 

    if (mysql_num_rows($query)) { 
     mysql_select_db("ucp"); 
     mysql_query("UPDATE `users` SET `CharacterID` = '" . $CKey . "' WHERE `name` = '" . $user['name'] . "'"); 
     header("./Dashboard.php"); 
     exit; 
    } 
    else { 
     header("./index.php"); 
     exit; 
    } 
} 
else { 
    header("./index.php"); 
    exit; 
} 
?> 

这是代码,但它不更新,它只是一个空白的屏幕,没有人知道为什么会发生这种情况(我刚刚开始编码PHP所以很好,如果它是一个新手错误)。MySQL更新没有更新

编辑:我有固定它,我用$ CKEY的按钮,而不是实际的关键,希望这是有道理的,我也改变=“”。$ CKEY“”为=” $ CKEY

+0

为U确定$用户[“名”]包含值 也是它的:标题(“位置:dashboard.php”);? – DarkBee 2013-04-24 18:31:25

+0

如果CharacterID字段是数字,你应该丢失引号。更改'='“。 $ CKey。 “'到'=”。 $ CKey。 “'。 – Tom 2013-04-24 18:32:09

+0

请继续阅读[SQL注入问题](http://bobby-tables.com/)以及如何正确[转义SQL值](http:// bobby-这个代码是非常危险的 – tadman 2013-04-24 19:10:12

回答

1

使用mysql_error(),看看是否有您所查询的任何错误

mysql_query($query) or die ('Error updating database: '.mysql_error()); 
+0

好吧,我已经做了一些编辑,现在我得到这个错误'WHERE'name' = 'Account_Name''在第1行继承编辑后的代码:$ user = getUser(); \t \t mysql_query(“UPDATE'users' SET'CharacterID' =”。$ CKey。“WHERE'name' ='”。$ user ['name']。“'”); – Zalman 2013-04-24 18:41:17

+0

把查询放在一个变量中,以便你可以回显它,然后用查询更新你的文章,这样我们就可以看到它有什么不对。 – Barmar 2013-04-24 18:53:17

+0

现在就修正它,谢谢大家 – Zalman 2013-04-24 19:01:30