无法在PHP和MySQL中更新数据库的值

时间:2017-03-19 17:18:47

标签: php mysql

我正在尝试将值更新为数据库,但我无法以这种方式或其他方式。

代码:

<?php

include 'init.php';

$dataid = $_POST['data_id'];


if(isset($dataid))
{

    /*user connects to database and performs some operation here*/

    /* values from database is returned and user passes the same to below function */

    calculateamount($kk_data_id,$kk_egg,$kk_cash,$kk_in,$kk_out,$kk_expenditure,$kk_cashout,$kk_wholesale1,$kk_wholesale2,$kk_wholesale3,$kk_touch,$kk_galtha,$kk_kotla,$wholesale_1,$wholesale_2,$wholesale_3,$touch,$galtha,$kotla,$retail,$prevegg,$prevcash);

}

function calculateamount($kk_data_id,$kk_egg,$kk_cash,$kk_in,$kk_out,$kk_expenditure,$kk_cashout,$kk_wholesale1,$kk_wholesale2,$kk_wholesale3,$kk_touch,$kk_galtha,$kk_kotla,$rwholesale_1,$rwholesale_2,$rwholesale_3,$rtouch,$rgaltha,$rkotla,$rretail,,$prevegg,$prevcash)
{
    /*performs Mathematical operations
    with data retrieved and passes the final values to the below function to update to database*/

    //ALL THE VALUES ARE CONVERTED TO STRING BEFORE PASSING ON TO THE BELOW FUNCTION

    updatevaluestodatabase($finalwhl1amount,$finalwhl2amount,$finalwhl3amount,$finaltchamount,$finalgalamount,$finalkotamount,$finalretailval,$finalretamount,$finaltotamount,
                           $finaltottally);

}

function updatevaluestodatabase($finalwhl1amount,$finalwhl2amount,$finalwhl3amount,$finaltchamount,$finalgalamount,$finalkotamount,$finalretailval,$finalretamount,$finaltotamount,
                                $finaltottally)
{
    $updatedata = "UPDATE kk_data SET wholesale1_amt=?,wholesale2_amt=?,wholesale3_amt=?,touch_amt=?,galtha_amt=?,kotla_amt=?,
                    kk_retail=?,retail_amt=?,kk_total_amount=?,kk_final_tally=? where kk_data_id = ?";
    $updatestmt = mysqli_prepare($con, $updatedata);
    mysqli_stmt_bind_param($updatestmt, sssssssssss,$finalwhl1amount,$finalwhl2amount,$finalwhl3amount,$finaltchamount,$finalgalamount,$finalkotamount,$finalretailval,$finalretamount,
                           $finaltotamount,$finaltottally,$dataid);
    mysqli_stmt_execute($updatestmt);
    mysqli_stmt_store_result($updatestmt);

    $response = array();
    $response["success"] = false;

    if(mysqli_stmt_affected_rows($updatestmt) > 0 )
    {
        $response["success"] = true;
    }

header('Content-Type: application/json');
echo json_encode($response);

}

?>

输出 每次我在邮递员('data_id' = value)或应用程序中运行以下脚本:

  

$ response [“success”] = false;

始终返回

。数据未更新到数据库。

我尝试了什么

我没有使用mysqli_stmt_affected_rows($updatestmt),而是尝试在mysqli_stmt_execute($updatestmt);语句中使用if执行。但那里没有运气

我无法确定问题所在,或者在调用该函数时是否不正确。

注意:我想我会发布一个最小化的代码以避免笨拙。

0 个答案:

没有答案