Php PDO Mysql更新没有结果

问题描述:

我有一个mysql数据库表currency_exchange列货币,xrate和时间。Php PDO Mysql更新没有结果

我有一个JSON货币饲料这是提供货币的汇率为:

“AED”:3.67266,“AFN”:57.1294等。

我需要在我的数据库更新值。我的php代码如下:

$phpArray = json_decode($jsonData, true); 
$extime = $phpArray['timestamp']; 
$rates = $phpArray['rates']; 
include_once 'connstring.inc.php'; 
$uptime = date("m-d-Y H:i:s"); 
if (isset($rates) && !empty($rates))//if data set and not empty 
{ 
    $conn->beginTransaction(); 
    $stmt = $conn->prepare("UPDATE `currency_exchange` set `currency` = :currency, `xrate` = :exchangerate,`time` = :time"); 
    try 
    { 
    foreach($rates as $key => $value) 
    { 
     $stmt->execute(array(':currency' => $key, ':exchangerate' => $value, ':time' => $uptime)); 
    }  
    $conn->commit(); 
    }//end try 
    catch(PDOException $e) 
    { 
    $conn->rollBack();  
    }  
}//end if  

目前我的表是空的。我需要有一个空插入其他更新代码。这怎么可能。

请求帮助。提前致谢。

更新:

检查currency_exchange表中的$ rowcount。如果($ rowcount> 0)更新它,否则插入。解决它..

+2

SQL UPDATE更换

$stmt = $conn->prepare("UPDATE 'currency_exchange' set 'currency' = :currency, 'xrate' = :exchangerate,'time' = :time"); 

的方式来改变行已经存在于DB /表。使用INSERT添加行..(reg:“目前我的表是空的。”) – fast 2014-10-06 10:01:29

+2

您不能确定没有错误:您已经编写了代码来吞服错误消息! – 2014-10-06 10:01:45

+0

对不起,我的意思是如何添加如果空插入或更新。我已经删除错误检查代码 – user3790186 2014-10-06 10:07:32

正如你所说的你的表是空的,你第一次必须执行一个“INSERT”查询。 “更新”查询仅用于更新现有数据。 你有

$stmt = $conn->prepare("INSERT INTO `currency_exchange` (`currency` ,`xrate`,`time`) VALUES (currency, exchangerate,time"); 
+0

我需要检查是否有值插入的条件其他更新 – user3790186 2014-10-06 10:26:38

+0

$ stmt = $ conn-> prepare(“INSERT INTO currency_exchange(currency,xrate,time) VALUES(:currency,:exchangerate,:time“);也导致没有插入???? – user3790186 2014-10-06 10:41:43

+0

更新没有插入,也没有错误??混淆 – user3790186 2014-10-06 11:04:52