2014-01-09 309 views
-3

我有一个查询应该插入数据到数据库的第一行数据,但由于某种原因,它什么都不做。我认为它不起作用的唯一原因是因为表中没有任何东西。即使如此,我也声明了NULL应该发生的情况。如何插入数据到数据库的第一行mysql php

这里是我的代码:

foreach ($player_fromsite as $match_player_in_game) { 
    $querytwo = 'UPDATE `'.$tablename.'` SET `'.$match_player_in_game.'`="'.'yes'.'" WHERE `'.$match_player_in_game.'` IS NULL ORDER BY `'.$match_player_in_game.'` ASC LIMIT 1'; 

    for ($a = 0; $a < 11; $a++) { 
     if ($match_player_in_game == $home_players[$a]) { 
      // Insert a row of information into the table "example" 
      mysql_query($querytwo) or die(mysql_error()); 
     } else { 
     } 
    } 
} 
+3

['UPDATE'(HTTP://dev.mysql .com/doc/en/update.html)不插入数据;它只是*修改*现有的数据。你想使用['INSERT'](http://dev.mysql.com/doc/en/insert.html)来代替:线索就是这个名字! :) – eggyal

+1

插入和更新是两件不同的事情。 – Mihai

+0

我尝试插入,但不能将其限制为1. $ querytwo ='INSERT INTO''。$ tablename.''''。' (''。$ match_player_in_game.'')'。'VALUES'。'(''。'yes'。'“)'LIMIT 1;这不起作用 – Procode

回答

1

UPDATE子句将更新任何匹配的记录。如果没有记录,你需要INSERT

INSERT INTO `table` (aField,otherField) VALUES ("Foo","Bar"); 

还是要插入多个记录,您可以使用批处理形式:

INSERT INTO `table` (aField,otherField) VALUES ("Foo","Bar"),("Second Foo","Second Bar");