2017-10-01 11 views
0

私はこれを数日間見てきましたが、更新することはできません。非常に簡単です - 私はblockchain.info APIに触れて、SQLite dbにいくつかの情報を格納してから、PHPでBTCアドレスのトランザクション番号が全く変更されていないかどうかをチェックするCronジョブを実行しています。PHP SQLite Update Statementが動作しない

私の最近の作品が実行され、必要なすべての変数がエコー表示されると、すべて表示されますが、dbファイルを更新することができません。私は更新クエリで一重引用符を使わずに試してみました。私はこれの多くのバリエーションを試したような気がしますが、まだ役に立たないです。どんな助けもありがとう!

ここにある:

UPDATE logging SET balance_now = :curr_bal, n_tx_now = :curr_trans WHERE logging_id = :record_id 

そして、何かが間違っているときは、セットアップPDOは、例外をスローする必要があります:あなたは、プレースホルダの周りの単一引用符を取り除くために必要

if ("$current_trans_number > $first_trans_number") { 

     echo "Updates to transactions for address $btc<br/>"; 

     $stmt = $db->prepare("UPDATE logging SET balance_now = ':curr_bal', n_tx_now = ':curr_trans' WHERE logging_id = ':record_id'"); 

     $stmt->bindParam(':record_id', $logging_id); 
     $stmt->bindParam(':curr_bal', $current_balance); 
     $stmt->bindParam(':current_trans', $current_trans_number); 
     $stmt->execute(); 

    } else { 

答えて

0

。また、開発中にエラーと警告を表示して、たとえば未定義の変数に問題があるかどうかを確認する必要があります。

はまた、あなたの文は常にtrueと評価されますのでご注意:あなたは、文字列を評価している

if ("$current_trans_number > $first_trans_number") { 

、それはtrueに評価されます。

は次のものが必要です。お返事のイェルーンため

if ($current_trans_number > $first_trans_number) { 
+0

感謝を。私は一重引用符を削除し、if文(良い点)を変更しましたが、まだ違いはありません。 私のスクリプトは何かが正しくないときにエラーをスローしますが、この場合はまだ実行中ですが更新していません... – Jonas

関連する問題