仅当fb_id尚不存在时才插入 - 否则什么也不做 - PHP

时间:2013-10-06 03:18:59

标签: php mysql sql database

我确信这里有非常类似的问题,但是在进行无数次这样的搜索之后,我所提出的所有内容都是针对除PHP以外的其他语言或者稍微不同的结构而导致我失去的东西。试图做并导致错误。如果听起来有点多余,请原谅我。

我有以下代码将数据输入MySQL数据库就好并且可以工作......


mysql_connect("" . $db_server_name . "", "" . $db_username . "", "" . $db_password . "") or die(mysql_error()); mysql_select_db("" . $db_database_name . "") or die(mysql_error()); 

mysql_query("INSERT INTO users (fb_id,fb_name,fb_first_name,fb_last_name,fb_profile_link,fb_username,fb_birthday,fb_gender,fb_email,fb_locale,reg_date,app_points,app_submissions,app_sub_available,app_wins) VALUES ( 'item','item','item','item','item','item','item','item','item','item','item','item','item','item','item' )"); 

echo "Your table has been populated";

但我只想要以下......

  1. 检查并查看fb_id是否已经存在(在本地称为$user_id变量)...换句话说,它将查看fb_id所在的tabe中是否已存在$user_id。< / LI>
  2. 如果数据不存在,请插入数据(来自上面的工作代码)。
  3. 如果确实存在,则打印“它已存在”。
  4. 我知道这对你们很多人来说似乎是一个简单的解决方法,但奇怪的是,我以前从来没有这样做过,所以对我来说并不是那么简单。

    非常感谢你的时间!

2 个答案:

答案 0 :(得分:1)

$data = mysql_query("SELECT * FROM table_name WHERE fb_id = $fb_id") or die(mysql_error());
if(!mysql_num_rows($data)){
mysql_query("INSERT INTO users (fb_id,fb_name,fb_first_name,fb_last_name,fb_profile_link,fb_username,fb_birthday,fb_gender,fb_email,fb_locale,reg_date,app_points,app_submissions,app_sub_available,app_wins) VALUES ( 'item','item','item','item','item','item','item','item','item','item','item','item','item','item','item' )"); 

    echo "Your table has been populated";
}esle{
    echo "Id Already exist!";
}

答案 1 :(得分:0)

那么为什么不做“选择fb_id作为来自fb_id = $ user_id的用户的user_id”然后如果返回没有行进行插入。