所以我需要帮助我正在创建一个游戏,而sql列表创建了一个用户名和密码,我想用正确的用户名将木材,石头,钢铁数据存储到数据库中,但我不知道如何。
就像那样,但我知道的唯一代码是:
mysql_query("UPDATE table_name SET column = newdata");
但是这里是错误它不会创建它,因为没有这样的列名为column,我需要它来搜索用户名然后将木材数据插入木材数据空间。
<?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");
?>
答案 0 :(得分:1)
请尝试以下代码:
mysql_query("UPDATE `table_name` SET `wood` = 12 WHERE `id`=1");
答案 1 :(得分: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;");
希望有所帮助。
答案 2 :(得分:1)
使用此代码:
mysql_query("UPDATE `table_name` SET `wood` = 12 WHERE `username`='user'");