将变量添加到mysql列中

问题描述:

我想知道如何添加一个整数,我已将变量分配给使用INSERT的mysql表列的列。将变量添加到mysql列中

这是我的代码:

//Connect to database 
include ("connnect.php"); 

$countv = "10" 
$insert = ("INSERT INTO table1 (id,count) VALUES ('$id',+$countv)"; 
mysql_query($insert) or die(mysql_error()); 

计列设置为int,默认值为“0” 通常我用+10加10,但现在我想尝试通过将它添加变量。所以我设置了“count”列来添加$ countv的整数值。

此脚本可以添加10到列计数,但是当我尝试它在第二时间(其使用UPDATE table1的SET计数= + $ countv WHERE ID =“123”),它仍保持为10. 有没有我正在犯的错误还是有更好的方法来做到这一点?

更新脚本

mysql_query("UPDATE table1 SET count = + $countv WHERE id='123'") 
      or die(mysql_error()); 

感谢,并有一个愉快的一天。

(解决:我忘了添加+ $ countv计数盈方在更新脚本感谢那些谁帮助。)

+0

你在增加什么?由于您正在添加一个新行(默认情况下其计数为0),因此每次结果为10时似乎是合乎逻辑的。如果你做了更新,应该会更好。 –

+0

对不起,我忘了添加更新脚本,只是编辑 – edward

试试这个语法

update table1 set count = count + $countv where id = '123' 
+1

哦,是的,这是多么愚蠢的我,我只用+ $ countv – edward

您可以通过两种方式做到这一点: - 首先检索该值,更新它php并将其写回到mysql表 - 或者一个简单的sql查询:UPDATE leaderb SET count = count + 10 WHERE ....

因为你在mysql中插入你没有初始值。所以您应该使用更新来更改现有的行/记录。

+0

通常我会像你说的那样使用+10添加10,但现在我想尝试通过变量添加它。所以我设置了“count”列来添加$ countv的整数值。 – edward

试试这个:

UPDATE table1 SET count = count+$countv WHERE id = '123' 

你的更新查询应该是:

$query ="UPDATE table1 `count` = `count` + $countv WHERE id=123"; 

你要知道,计数是MySQL中的保留字所以应该be backticks

我不知道它是如何工作的,因为你添加名称'$ id'和'$ countv'而不是他们的值。

我认为你应该换的是:

$insert = "INSERT INTO table1 (id,count) VALUES ('$id',+$countv)"; 

有:

$insert = "INSERT INTO table1 (id,count) VALUES ('$id', +" . $countv . ")"; 

如果ID也是一个PHP INT(我假设如此)u需要:

$insert = "INSERT INTO table1 (id,count) VALUES ('" . $id . "', +" . $countv . ")"; 

告诉我怎么去了:)

它是导致您每次都用10替换该值。程序不知道数据库中的数字。

您需要先检索数据,然后更新数值并将其重新放回数据库中