2014-01-09 4 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"); 
Смежные вопросы