【问题标题】:INSERT into sql database [closed]插入sql数据库[关闭]
【发布时间】:2014-05-15 14:26:51
【问题描述】:

我之前插入过数据库,但从未使用过“where”功能。由于某种原因,它不是插入,而是死亡。

<?php
$member=$_SESSION['member'];

 $SQL = "INSERT into members where name='$member'(money) VALUES ('100')"; 
      mysql_query($SQL) or die("Could not insert money");

      print "Money successfully inserted";
?>

【问题讨论】:

  • 你的表结构是什么?
  • 不清楚您要做什么 - WHERE 建议您进行更新。无论哪种方式,您可能最好看一些教程。
  • 你为什么有(money)...你想干什么...??
  • 我猜你能找到你的答案HERE :你不能 下次请用你最喜欢的浏览器快速搜索(我花了大约 30 秒)...
  • 我正在尝试将 100 插入到 name='$member '@tramp 的行 'money' 中

标签: php sql


【解决方案1】:

这不是有效的 SQL:

INSERT into members where name='$member'(money) VALUES ('100')

我会假设是这样的:

update `members` set `money`=100 where `name`='$member'; 

基本原理:(money) 是一个字段,100 是物有所值(因为从 INSERT INTO 成员 (field) VALUES (value) 语法的角度来看,这 2 个是最有意义的)。

【讨论】:

    【解决方案2】:

    永远不会死()带有固定的错误消息,尤其是当您可以输出实际原因时:... or die(mysql_error())

    但是,是的,您的问题是语法错误。 INSERT 查询 NOT 有一个 WHERE 子句 - where 用于过滤数据库表中已有的记录。这对新记录没有意义,因为它不在表中以首先过滤。

    你的查询基本上应该只是

    INSERT into members (name, money) VALUES ('$member', '100')
    

    请注意,您很容易受到SQL injection attacks 的攻击,并且正在使用已弃用/过时的数据库接口。

    【讨论】:

      【解决方案3】:

      如果要更改现有数据,请使用更新命令而不是插入。

      【讨论】:

        【解决方案4】:

        您不能将 WHERE 子句与 INSERT 命令一起使用

        http://dev.mysql.com/doc/refman/5.0/en/insert.html

        你必须更新

        <?php
        $member=$_SESSION['member'];
        
         $SQL = "UPDATE `members` SET `money`='100' WHERE `name`='$member'; "; 
              mysql_query($SQL) or die("Could not insert money");
        
              print "Money successfully inserted";
        ?>
        

        【讨论】:

          【解决方案5】:

          用于插入:

          $SQL = "INSERT INTO members(money) VALUES ('100')";
          

          MySQL INSERT 语法不支持 WHERE 子句。 MySQL.com Insert Info

          您实际上是在尝试插入新行,还是更新现有的“成员”?如果更新,请尝试:

          UPDATE members SET money = 100, WHERE name='$member';
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-08-21
            • 1970-01-01
            • 1970-01-01
            • 2013-06-06
            • 1970-01-01
            • 2013-03-01
            • 1970-01-01
            相关资源
            最近更新 更多