-1

所以我需要帮助,我正在创建一个游戏,sql 列表创建了一个用户名和密码,我想以正确的用户名将木材、石头、钢铁数据存储到数据库中,但我不知道如何。

数据库

就是这样,但我知道的唯一代码是:

mysql_query("UPDATE table_name SET column = newdata");

但这是它不会创建它的错误,因为没有名为列的列,我需要它来搜索用户名,然后将木材数据插入木材数据空间。

<?php
mysql_connect("localhost","username","password") or die(mysql_error()); 
mysql_select_db("database") or die(mysql_error()); 

$wood= "document.getElementById('wood').value";
$stone= "document.getElementById('stone').value";
$steel= "document.getElementById('steel').value";

mysql_query("UPDATE `members` SET `wood` = $wood WHERE `username`=$myusername");
mysql_query("UPDATE `members` SET `stone` = $stone WHERE `username`=$myusername");
mysql_query("UPDATE `members` SET `steel` = $steel WHERE `username`=$myusername");
?>
4

3 回答 3

1

不要将用户信息和元数据混合在一个表中。您可以通过分隔在两个表中来分隔用户名/密码和其他信息。

CREATE TABLE `users` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `name` varchar(50) NOT NULL,
 `password` varchar(255) NOT NULL,
 `active` enum('0','1') NOT NULL DEFAULT '1',
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE `data` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `user_id` int(10) unsigned NOT NULL,
 `wood` int(10) NOT NULL,
 `stone` int(10) NOT NULL,
 `steel` int(10) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

然后,你可以做

$wood = mysql_real_escape_string( 'wood info' );
$stone = mysql_real_escape_string( 'stone info' );
$steel = mysql_real_escape_string( 'steel info' );
$userid = 'ID of the user against which you want to update.';

mysql_query("UPDATE `data` SET `wood`=$wood, `stone`=$stone, `steel`=$steel WHERE `user_id`=$userid;");

希望有帮助。

于 2013-10-07T09:31:51.750 回答
1

使用此代码:

mysql_query("UPDATE `table_name` SET `wood` = 12 WHERE `username`='user'");
于 2013-10-07T09:32:29.723 回答
1

试试下面的代码:

mysql_query("UPDATE `table_name` SET `wood` = 12 WHERE `id`=1");
于 2013-10-07T09:30:43.733 回答