2015-05-14 119 views
0

中輸入0如果使用if條件,我試圖在PDO中輸入一個表。我的函數代碼如下:MySQL「UPDATE」語法在列

function add_user_info($conn, $user, $info, $fName, $sName, $past, $pos){ 
    // Prepare and execute statements 
    $info1 = addslashes($info); 

    $sql = $conn->prepare("SELECT * FROM `User_Info` WHERE `User` = '$user'"); 
    $sql->execute(); 
    if ($sql->fetch()){ 
     // Update current entry 
     $sql1 = $conn->prepare("UPDATE `User_Info` SET `Info` = '$info1' AND `Past` = '$past' AND `Position` = '$pos' WHERE `User` = '$user'"); 
    } else { 
     // Create new entry 
     $sql1 = $conn->prepare("INSERT INTO `User_Info` (`User`, `Info`, `FName`, `SName`, `Past`, `Position`) VALUES ('$user', '$info1', '$fName', '$sName', '$past', '$pos')"); 
    } 
    $sql1->execute(); 
} 

是不工作對我來說唯一的(我再說一遍,ONLY)部分是與更新查詢線9。我已經將問題縮小到了與Info列的更新有關的問題,不僅如此,而且它是字符串的問題,所以變量$ info1。

我試圖從CKEditor傳遞一串文本。它是一個豐富的文本字符串,當傳遞給SQL時,它有HTML標記,引號等。

表中行的初始創建(函數的第12行)完美工作,因此只有在更新時該字符串纔會被視爲有趣。當我更新一個單詞而不是$ info1時,它仍然不起作用。

如在phpMyAdmin所示,我的表模式如下:

User_Info table schema

+0

如果有任何答案幫助了您,請將其標記爲已接受。 –

回答

3

更新命令的多個集由,and

UPDATE `User_Info` 
SET 
`Info` = '$info1' , 
`Past` = '$past' , 
`Position` = '$pos' 
WHERE `User` = '$user'" 
+0

謝謝你謝謝你!認爲這是一件小事! – Eoin

2

變化AND分離以,

$sql1 = $conn->prepare("UPDATE `User_Info` SET `Info`='$info1', `Past`='$past', `Position`='$pos' WHERE `User`='$user'"); 
+0

啊上帝啊,以爲這是簡單的東西好吧!非常非常感謝你!!! – Eoin