2013-04-28 97 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