[英]if else mysql syntax
有人可以幫我這個語法嗎? 我不知道我在做什么錯!
當我嘗試執行此代碼時:
IF EXISTS(SELECT * FROM user WHERE user_username = '$user_username')
THEN
UPDATE user SET user_name='$name',user_profession='$profession',user_address='$address',user_avatar='$NewImageName'
ELSE
INSERT INTO user (user_name,user_profession,user_address,user_avatar) VALUES ('$name','$profession','$address','$NewImageName';
我收到以下錯誤:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF EXISTS(SELECT * FROM user WHERE user_username = '111') THEN UPDATE user SE' at line 1
我不知道這段代碼有什么問題!
您是否嘗試過在INSERT INTO...
語句之后添加END IF
?
您需要ON DUPLICATE KEY
INSERT INTO user (user_name,user_profession,user_address,user_avatar)
VALUES ('$name','$profession','$address','$NewImageName'
ON DUPLICATE KEY
UPDATE user SET user_name='$name',
user_profession='$profession',
user_address='$address',
user_avatar='$NewImageName'
您必須將user_name
列設置為UNIQUE
如果不是唯一的,請執行此操作
ALTER IGNORE TABLE user ADD UNIQUE (user_name);
以下代碼對我有用:
$result = mysql_query("SELECT * FROM user WHERE user_username = '$user_username'");
if( mysql_num_rows($result) > 0) {
mysql_query("UPDATE user SET user_name='$name',user_profession='$profession',user_address='$address',user_avatar='$NewImageName' WHERE user_username = '$user_username'");
}
else
{
mysql_query("INSERT INTO user (user_name,user_profession,user_address,user_avatar) VALUES ('$name','$profession','$address','$NewImageName') WHERE user_username = '$user_username'");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.