2016-07-21 13 views
-2

フォームデータをajaxリクエストで送信しようとしていますが、挿入コードが実行されてもデータベースに格納されません。他のPHPページでデータがajaxリクエストを通過する

var form_data = $('#form_company').serialize(); 
    var request = $.ajax({ 
    url:   'data.php', 
    cache:  false, 
    data:  {job : "add_company", form_data:form_data}, 
    dataType:  'json', 
    contentType: 'application/json; charset=utf-8', 
    type:   'get' 
    }); 
    request.done(function(output){ 
    if (output.result == 'success'){ 
     // Reload datable 
     table_companies.api().ajax.reload(function(){ 
     hide_loading_message(); 
     var company_name = $('#company_name').val(); 
     show_message("Company '" + company_name + "' added successfully.", 'success'); 
     }, true); 
    } else { 
     hide_loading_message(); 
     //alert ("sucks"); 
     show_message('Add request failed', 'error'); 
    } 
    }); 

データベース data.php

<?php 
// Database details 
    $db_server = 'localhost'; 
    $db_username = 'root'; 
    $db_password = ''; 
$db_name  = 'ocean'; 

// Get job (and id) 
    $job = ''; 
$id = ''; 
if (isset($_GET['job'])){ 
$job = $_GET['job']; 
if ($job == 'get_companies' || 
    $job == 'get_company' || 
    $job == 'add_company' || 
    $job == 'edit_company' || 
    $job == 'delete_company'){ 
    if (isset($_GET['id'])){ 
    $id = $_GET['id']; 
    if (!is_numeric($id)){ 
    $id = ''; 
    } 
    } 
} else { 
    $job = ''; 
} 
} 
if ($job == 'add_company'){ 

// Add company 
$query = "INSERT INTO it_companies SET "; 
if (isset($_GET['rank']))   { $query .= "rank   = '" . mysqli_real_escape_string($db_connection, $_GET['rank'])   . "', "; } 
if (isset($_GET['company_name'])) { $query .= "company_name = '" . mysqli_real_escape_string($db_connection, $_GET['company_name']) . "', "; } 
if (isset($_GET['industries'])) { $query .= "industries = '" . mysqli_real_escape_string($db_connection, $_GET['industries']) . "', "; } 
if (isset($_GET['revenue']))  { $query .= "revenue  = '" . mysqli_real_escape_string($db_connection, $_GET['revenue'])  . "', "; } 
if (isset($_GET['fiscal_year'])) { $query .= "fiscal_year = '" . mysqli_real_escape_string($db_connection, $_GET['fiscal_year']) . "', "; } 
if (isset($_GET['employees'])) { $query .= "employees = '" . mysqli_real_escape_string($db_connection, $_GET['employees']) . "', "; } 
if (isset($_GET['market_cap'])) { $query .= "market_cap = '" . mysqli_real_escape_string($db_connection, $_GET['market_cap']) . "', "; } 
if (isset($_GET['headquarters'])) { $query .= "headquarters = '" . mysqli_real_escape_string($db_connection, $_GET['headquarters']) . "'"; } 
    //var_dump($query); 
    $query = mysqli_query($db_connection, $query); 
    if (!$query){ 
    $result = 'error'; 
    $message = 'query error'; 
    } else { 
    $result = 'success'; 
    $message = 'query success'; 
    } 

    } 

コードで間違ったものにそれを挿入するためのコードはありますか?どのように私は私の希望の結果を得ることができます。 AJAX呼び出し

$query = mysqli_query($db_connection, $query); 
    if (!$query){ 
    $result = 'error'; 
    $message = 'error'; 
    } else { 
    $result = 'success'; 
    $message = 'success'; 
    } 

    } 
    header('Content-Type: application/json'); 
    echo json_encode(['result'=>$message]); 
+0

あなたが取得しているすべてのエラー? –

+0

右クリック>要素の検査>コンソール>エラー? –

+1

このヘルプが必要です。私も同じ問題だと思うhttp://stackoverflow.com/questions/38497166/error-in-adding-details-by-ajax/38499172#38499172 –

答えて

1

から

+0

更新しましたあなたの主張の参照を提供できますか? – madalinivascu

+0

@munishあなたは逆引用符を言ったが、私はそれらを適用する? – oceanier

+0

を照会してください。 –

1

戻り何かがあなたが予約語があるrankcompany_nameindustriesような名前のフィールドを持っているようです。このように、backquotesを使用してください。

'rank' 'company_name' 'industries'

+0

私はこの要求を追加すると失敗しましたireturns me – oceanier

+0

私の答えを – madalinivascu

関連する問題