Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>If you want to update a field that is already exist, you can do this as;</p> <pre> -- MySQL Reference INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6) ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b); -- so your code INSERT INTO users (email, name) VALUES ('" .$epost. "', '" .$namn. "') ON DUPLICATE KEY UPDATE email=VALUES(email), name=VALUES(name) </pre> <p><a href="http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html" rel="nofollow">http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html</a></p> <p><strong>UPDATE</strong></p> <p>At this point, you need "MySQL conditional insert". Let's try it;</p> <pre> CREATE TABLE IF NOT EXISTS `users` ( `name` varchar(50) NOT NULL, `email` varchar(255) NOT NULL, UNIQUE KEY `email` (`email`) ) INSERT INTO users (name, email) VALUES('kerem', 'qeremy[atta]gmail[dotta]com'); INSERT INTO users (name, email) VALUES('test', 'test@example.com'); >> 2 rows inserted. ( Query took 0.0005 sec ) -- this is your part (regarding email field is UNIQUE, so WHERE email='search email') INSERT INTO users (name, email) SELECT 'test', 'test@example.com' FROM DUAL WHERE NOT EXISTS ( SELECT * FROM users WHERE email = 'test@example.com' LIMIT 1 ); >> 0 rows inserted. ( Query took 0.0003 sec ) </pre> <p><a href="https://www.google.com/search?q=conditional+insert+mysql" rel="nofollow">https://www.google.com/search?q=conditional+insert+mysql</a></p> <p><a href="http://allurcode.com/2011/04/15/mysql-conditional-insert/" rel="nofollow">http://allurcode.com/2011/04/15/mysql-conditional-insert/</a> (which is useful search result)</p> <p><strong>UPDATE 2</strong></p> <p>If this does not work for you, then you can do your work like (just an input);</p> <pre> mysql_query("INSERT IGNORE INTO users (name, email) VALUES('$name', '$email')"); if (!mysql_insert_id()) { mysql_query("UPDATE users SET name='$name' WHERE name='' AND email='$email'"); } Or; mysql_query("UPDATE users SET name='$name' WHERE name='' AND email='$email'"); if (mysql_affected_rows() &lt; 1) { mysql_query("INSERT INTO users (name, email) VALUES('$name', '$email')"); } </pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload