2014-02-17 113 views
0

我正在Web中構建應用程序,但我想知道是否有任何方法可以在數據庫中存在具有特定值的e字段時進行切換。 因此,例如,我想檢查表Profile(Profile_Id, User_Id, Address, City...) 是否存在User_Id = 20的用戶。我想檢查這一點的原因是,如果他的用戶存在,我希望當我按下我的表單中的按鈕來更新表格的配置文件的字段,如果用戶不存在,以在表中插入一個新的行.. 。如何查找數據庫中是否存在具有特定值的字段

例如:

If(User_Id exist in table Profile(this is the check statement)) 

$update_query="update Profile........... 

else 
$update_query=mysql_query("Insert into Profile.............. 

請HEL我...在此先感謝

+0

如果您在設計時知道該字段的名稱(並且看起來確實如此),那麼您需要一個簡單的SQL查詢,該查詢返回符合條件的COUNT行。如果結果爲0 - 您沒有匹配的記錄。 –

+0

但他想更新現有的並插入非現有值:) – Dwza

+0

是的,這就是我想要的 – user3272713

回答

0

您正在尋找

INSERT INTO Profiles (user_id,name,age) VALUES (1,"AL","33") 
ON DUPLICATE KEY UPDATE name="Alan", age=34; 
0

的SQL查詢此檢查:

SELECT 1 
FROM Profile 
WHERE User_Id = ? 

您將用正在檢查的值替換?(例如, 20)。如果使用PDO,則可以使用PDOStatement's bindValue method完成更換。

如果用戶存在,則返回一列的結果集。如果不是,則返回一個空的結果集。

相關問題