-2

ajax から呼び出される挿入クエリに問題があります。ajax 呼び出しは成功して返され、以下のコードの success:function() の下に示されているように、変更された html でそれを見ることができます。process.php の挿入クエリが機能しない理由がわかりません。dataString には正しい引数があり (dataString のアラートには正しい引数が表示されます)、データベース内のフィールドは null 値を取ることができます。

jsコード

  var dataString=$('#testimonials').serialize();

  alert (dataString);

  $.ajax(
  {
    type: "POST",
    url: "process.php",
    data: dataString,
    success:function() {
      $('#testimonials').html("<div id='message'></div>");
      $('#message').html("<h2>Your information has been submitted!</h2>")
      .append("<p>Thank you for your help and support.</p>")
      .hide()
      .fadeIn(1500, function() 
      {
        $('#message').append("<img id='checkmark' src='images/check.png' height='30' width='30'/>");
      });
   });

process.php ファイル

    $company =mysql_escape_string($_POST('company'));
    $jobfunc = mysql_escape_string($_POST('jobfunc'));
    $location = mysql_escape_string($_POST('location'));
    $overall = mysql_escape_string($_POST('overall'));
    $detail = mysql_escape_string($_POST('detail'));
    $pros = mysql_escape_string($_POST('pros'));
    $cons = mysql_escape_string($_POST('cons'));
    $sr_mgmt = mysql_escape_string($_POST('sr_mgmt'));
    $submitted_by = mysql_escape_string($_POST('submitted_by'));
    $class = mysql_escape_string($_POST('classof'));
    $school = mysql_escape_string($_POST('school'));
    $anonymous = mysql_escape_string($_POST('anonymous'));      

    mysql_select_db($database_connTest, $connTest);

    $query_AddTestimonial = "INSERT into testimonials (company,job_function,location,overall,project_details,pros,cons,sr_mgmt,submitted_by,class,school,anonymous) VALUES ('$company','$jobfunc','$location','$overall','$detail','$pros','$cons','$sr_mgmt','$submitted_by','$class','$school','$anonymous')";
    $result_AddTestimonial = mysql_query($query_AddTestimonial) or die(mysql_error());
4

2 に答える 2

0

$query_AddTestimonial を作成するときの最後から 2 番目の行では、変数であることを伝えていないため、作成している文字列に php 変数が含まれていません。次のように php 変数を使用できます。

$query_AddTestimonial = "INSERT into testimonials (company,job_function,location,overall,project_details,pros,cons,sr_mgmt,submitted_by,class,school,anonymous) VALUES ('{$company}','{$jobfunc}','{$location}','{$overall}','{$detail}','{$pros}','{$cons}','{$sr_mgmt}','{$submitted_by}','{$class}','{$school}','{$anonymous}')";
于 2012-04-11T22:56:15.603 に答える
0

問題は、変数を呼び出す方法にありました。$_POST('company') ではなく $_POST['company'] であるべきでした。完全に見逃していました(配列であるため、 $_POST の角括弧)

于 2012-04-12T17:35:00.540 に答える