2013-04-28 95 views
0
$betadd = $user_data['bets'] + 1; 
$username = $user_data['username']; 
$userid = $user_data['user_id']; 
$value = $_POST['wager']; 
$setcoins = $user_data['coins'] -  $value; 
mysql_query("INSERT INTO `multiplayer` (value, player1) VALUES ($value, $username)"); 

我有它插入到表在一個點,但現在不工作,該值是一個INT(11)和PLAYER1是VARCHAR(32)。但它沒有插入到列中,任何人都可以幫忙嗎?MySQL的INSERT INTO沒有錯誤

+0

有關如何讀取錯誤消息的示例,請參見[mysql_query()](http://php.net/mysql_query)的手冊頁。 – 2013-04-28 22:35:36

+0

嘗試在單/雙引號(取決於您的外部封閉)中設置您的VALUES -always-,即使它們是數字或ID。 – 2013-04-28 22:38:36

回答

1

我建議你帶封裝的變量和調試查詢做

mysql_query("INSERT INTO `multiplayer` (value, player1) VALUES ('$value', '$username')") or die(mysql_error()); 

然後我想記住你,mysql_功能已被棄用,所以我會建議你切換到mysqliPDO而事實上你是在sql injection風險,看看這裏How can I prevent SQL injection in PHP?。您應該使用準備好的語句來避免任何風險

+0

使用「準備好的語句」與參數的持有者相結合,也具有正確轉義單引號,換行符,反斜線等的優點。 – 2013-04-28 22:42:05

0

改變你的

mysql_query("INSERT INTO `multiplayer` (value, player1) VALUES ($value, $username)"); 

這個

mysql_query("INSERT INTO `multiplayer` (value, player1) VALUES ('{$value}', '{$username)}'"); 

需要引號添加到您的價值觀,當你將它添加到數據庫..我也建議你看看PDO或mysqli的..的mysql_query已被棄用,是不是安全..

DINS