2015-02-08 50 views
0

我試圖爲遊戲製作商店機制,但只要我將UPDATE語句輸入到遊戲中,操作代碼就什麼都不做。更新數據庫時出錯(代碼剛剛崩潰)

任何人都可以看到最新的問題?可能是一個非常愚蠢的。下面

代碼:

<?php 
include('include/configdb.php'); 
$user_name = $_SESSION['user_name']; 
$safegun = mysqli_real_escape_string($mysqli, $_GET['gun']); 
if($safegun == 0){ 
echo 'Please specify an amount'; 
} elseif($safegun >= 1){ 
//Db thingy`s 
$mysqli->query("UPDATE user SET money= ".$safegun." * 300 gun = gun+"$safegun" WHERE username = '".$user_name."'"); 
sleep(30); 
header('location:shop.php'); 
} 

任何幫助將非常apreceated。 親切的問候, 邁克爾

+1

你爲什麼睡在服務器上30秒造成的連接是開放和線程要使用的? – h2ooooooo 2015-02-08 14:32:29

+0

這只是一個測試,但即使沒有奏效。 – 2015-02-08 18:41:41

回答

0

請看到這一點: PHP Manual

它說,它節選1串。不是2,從你刪除它:

$safegun = mysqli_real_escape_string($mysqli, $_GET['gun']); 要: $safegun = mysqli_real_escape_string($_GET['gun']);

和:

$mysqli->query("UPDATE user SET money= ".$safegun." * 300 gun = gun+"$safegun" WHERE username = '".$user_name."'");

要:

$mysqli->query("UPDATE user SET money= '$safegun' * 300, gun = gun+'$safegun' WHERE username = '$user_name' "); 編輯。

+0

該修復程序給了我完全相同的錯誤:空白頁 – 2015-02-08 14:29:01

+0

您可以打開錯誤報告嗎? – 2015-02-08 14:31:58

+0

已編輯.. 再次檢查。 – 2015-02-08 14:33:43

1

您的UPDATE語法錯誤,如果要更新多個列,則應使用逗號分隔它們。因此,它應該是:

$mysqli->query("UPDATE user SET money= ".$safegun." * 300, gun = gun+"$safegun" WHERE username = '".$user_name."'"); 

參考:Manual

請注意,我不知道你是怎麼聲明$mysqli連接。如果您使用了3-參數,唯一的構造(見文檔:http://php.net/manual/en/mysqli.construct.php)你應該添加db_name在你的MySQL命令:

$mysqli->query("UPDATE db_name.user SET money= ".$safegun." * 300, gun = gun+"$safegun" WHERE username = '".$user_name."'"); 
+0

感謝人,但它似乎並沒有工作和罪過我不能改變我的.htacces和沒有acces php.ini我不能轉動錯誤報告 – 2015-02-08 14:38:58

+0

@Trojan_DC等待...你在哪裏打開一個新的$ mysqli實例? – fillobotto 2015-02-08 14:40:29

+0

在我的configdb文件中它的主bi – 2015-02-08 14:41:23

相關問題