2016-11-24 15 views
-1

私は3つのカラム 'primary key'、 'debit_cash'、 'user_id'を持つMySQLテーブルを持っていますので、debit_cash値を対応するuser_idに更新します。既に存在する値に「15」を加える。 debit_cashはVARCHARにありますので、intに変換して合計しましたが、MySQLの値は変更されません。Mysqlの値に定数を追加し、値を結果に更新する

<?php 
if($_SERVER['REQUEST_METHOD']=='POST'){ 
    //Getting values 
    $user_id = $_POST['user_id']; 


    //importing database connection script 
    require_once('dbConnect.php'); 

    //Creating sql query 
    $sql = "SELECT cos_details.debit_cash AS debitCash, 
      (convert(int, debit_cash)+15) AS updatedDebitCash 
      FROM cos_details 
      UPDATE cos_details SET debit_cash = '$updatedDebitCash' 
      WHERE user_id = $user_id"; 

    //Updating database table 
    if(mysqli_query($con,$sql)){ 
     echo 'Updated Successfully'; 
    }else{ 
     echo 'Could Not Update Try Again'; 
    } 

    //closing connection 
    mysqli_close($con); 
} 

いずれかが私を助けてください:

は、ここに私のコードです。

+1

で値を囲む必要がありますので、更新のみ

UPDATE cos_details SET debit_cash = cast((convert(int, debit_cash)+15) as VARCHAR(20)) WHERE user_id = $user_id 

はあなたのuser_idがあまりにも文字列である可能性がありますここで複数のクエリを実行しようとしています。クエリに対してmysqli_error($ con)を使用すると、構文エラーが表示されます。 –

+0

[PHP/MYSQLで2つのmysqlクエリを実行するにはどうすればよいですか?](http://stackoverflow.com/questions/802437/how-to-execute-two-mysql-queries-as-one-in- php-mysql) –

+0

ほんの少しの点:現金には通常小数成分がありますか?あなたは 'INT'がそれをキャストするのに正しいのですか? – RiggsFolly

答えて

1

あなたが選択を必要としないようだが、あなたはあなたがしている引用

UPDATE cos_details SET debit_cash = cast((convert(int, debit_cash)+15) as VARCHAR(20)) 
    WHERE user_id = '$user_id' 
+0

テーブル@scaisの値を更新していません –

+0

@WilliamWilliデータベースに数値を格納すると、適切なデータ型を保持していればすべてが簡略化されます。 VARCHARは適切ではありません – RiggsFolly

+0

私はブール値を追加する必要があるので、私はそれを使用します。あなたが答えを知っているのであれば、投稿するだけです。 –

関連する問題