2014-01-21 20 views
1

我不是後端專家,但我認爲我對於使用mysql的PDO查詢有很好的把握,但出於某種原因我無法弄清楚爲什麼這個表述看起來不像在我的數據庫進行任何更新(雖然條件的分貝肯定滿足) 反正這裏的語句:爲什麼這個mysql查詢並沒有實際更新任何內容

$update = "UPDATE content 
    SET src_link=:src_link 
    WHERE content_id=:content_id"; 
    $stmt = db::getInstance()->prepare($update); 
    $stmt->bindParam(':content_id', $video['content_id']); 
    $stmt->bindParam(':src_link', $video['src_link']); 
    $stmt->execute(); 

一些解釋該交易在腳本中較早啓動,並且該代碼被包裹在一試趕上沒有抓到被捕。所述src_link是var_char和CONTENT_ID是主鍵..然而,我已打印出視頻陣列和輸入這樣的代碼,其在phpMyAdmin工作

UPDATE `content` SET `src_link`= 'http://www.youtube.com/watch?v=f3rMo5cgaXQ' 
WHERE `content_id`=6939 

其中這些值是在我的PHP直接取自試圖輸出腳本,似乎工作

無論如何,我有點失去了爲什麼這是行不通的,一直在這堅持了最後幾個小時,沒有解決我不能前進,所以任何幫助,我怎麼能得到pdo正確輸出將不勝感激,因爲我有大約1000+更新投入。 在此先感謝!

+1

您是否正在進行交易? – Barmar

+0

PDO是否設置爲拋出異常? – Phil

+0

您是否嘗試過定義數據類型? $ stmt-> bindParam(':content_id',$ video ['content_id'],PDO :: PARAM_INT)); // PDO :: PARAM_STR爲字符串類型。另外 - bindParam()方法和execute()方法的結果是什麼? – Yani

回答

2

如果您已開始交易,則必須提交交易以使更改永久生效。

+0

再次感謝...認爲我需要一些睡眠或咖啡 – brendosthoughts