Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查询以插入或在需要时更新记录_Php_Mysql_Sql - Fatal编程技术网

Php 查询以插入或在需要时更新记录

Php 查询以插入或在需要时更新记录,php,mysql,sql,Php,Mysql,Sql,如何制定查询,使其能够: 1.能够插入姓名和货币价值 2.如果所述名称已存在,则只应通过将其值与从表单中获取的值相加来更新money列。 尝试使用: +----------------+-----------+ |name(varchar)PK |money(int) | +----------------+-----------+ 它满足第一个要求,但在更新money列时,它只是用新值替换旧值,而不添加它们 以下是完整的代码草稿版本: REPLACE INTO practa

如何制定查询,使其能够:

1.能够插入姓名和货币价值

2.如果所述名称已存在,则只应通过将其值与从表单中获取的值相加来更新money列。 尝试使用:

  +----------------+-----------+
  |name(varchar)PK |money(int) |
  +----------------+-----------+
它满足第一个要求,但在更新money列时,它只是用新值替换旧值,而不添加它们

以下是完整的代码草稿版本:

   REPLACE INTO practable SET name = '$name', money = 'money' + $amount
尝试插入。。。在重复密钥更新时:

我假设变量$name和$amount已正确转义

请尝试插入。。。在重复密钥更新时:


我假设您的变量$name和$amount已正确转义

请尝试省去钱上的变量。这将使它成为一个colmmn,而不是一个字符串

试着省去钱的问题。这将使它保持为一个colmmn,而不是一个字符串

您正在查找语法

从文件中:

INSERT INTO practable(name,money) VALUES('$name',$amount) ON DUPLICATE KEY UPDATE
 name = '$name', money = `money` + $amount
您正在查找语法

从文件中:

INSERT INTO practable(name,money) VALUES('$name',$amount) ON DUPLICATE KEY UPDATE
 name = '$name', money = `money` + $amount
试试这个:

INSERT INTO table (a,b,c) VALUES (1,2,3)
    ON DUPLICATE KEY UPDATE c=c+1;

UPDATE table SET c=c+1 WHERE a=1;
试试这个:

INSERT INTO table (a,b,c) VALUES (1,2,3)
    ON DUPLICATE KEY UPDATE c=c+1;

UPDATE table SET c=c+1 WHERE a=1;

如果主键存在,则Replace将删除旧行,因此您将不添加任何内容。

如果主键存在,则Replace将删除旧行,因此您将不添加任何内容。

您是否尝试过:Replace to Practiable SET name='$name',money=Calleey,$amount顺便问一下。你的代码非常危险!它允许SQL注入攻击。请仔细阅读SQL注入。。。看:我知道,这是初稿:无论如何,谢谢!您是否尝试过:替换为实用的集合名称=“$name”,money=coursey,$amount。你的代码非常危险!它允许SQL注入攻击。请仔细阅读SQL注入。。。看:我知道,这是初稿:无论如何,谢谢!