0

ここにこのコードがあります:

<?php
error_reporting(E_ALL);
include 'DB.php';

$con = mysql_connect($host,$user,$pass)
    or die("Error: ".mysql_error());
$dbs = mysql_select_db($databaseName, $con);

$name = $_POST['name'];
$date = date('Y-m-d');
$amount = $_POST['amount'];
$timPaid = $_POST['timPaid'];
$rennyPaid = $_POST['rennyPaid'];

$sql = "INSERT INTO $tableName (`name`, `date`, `amount`, `timpaid`, `rennypaid`)
        VALUES ('$name', '$date', '$amount', '$timPaid', '$rennyPaid')";

$result = mysql_query($con, $sql)
    or die("Error: ".mysql_error());

mysqli_close($con);
?>

DB.php は私のデータベース設定です。ページの読み込み時にクエリを呼び出すと、接続してデータを正常にプルするので、問題ではないことがわかります。また、エラーは発生しません。ポストにステータス コード 200 OK が表示されます。

ajaxの投稿は次のとおりです。

var name = $('#name').val();
var amount = $('#amount').val();
var timPaid = $('#timPaid').val();
var rennyPaid = $('#rennyPaid').val();
var data = $('#newSubmissionForm').serialize();

$.ajax({
    url: 'insert.php',
    data: data,
    type: 'post',
    success: function()
    {
        window.location.href = '';
    }
 });

それは私がそれを連載することと関係がありますか?

これで十分な情報であることを願っています。ありがとう!

4

3 に答える 3

3

mysql_queryには、最初のパラメーターがクエリとして、2 番目のパラメーターが接続オブジェクトとして必要です (オプション)

これを変える

$result = mysql_query($con, $sql);

$result = mysql_query($sql, $con);

またmysql、接続とクエリに使用しましたが、以前mysqliは接続を閉じていました。

于 2013-05-03T04:48:38.523 に答える
1

おそらく、$sql ステートメントと $con ステートメントを切り替えただけです。mysql_query では、$sql が最初のパラメーターである必要があります。mysqli_query は最初に $con を持つ必要があるため、忘れがちです。:/

php die() ステートメントは exit と同じで、ステータス 200 でスクリプトを終了します。出力にエラーが表示される可能性があります。開発者コンソール(Chrome)などで表示してみてください

于 2013-05-03T04:55:57.323 に答える
0
  1. 生成されたコードを Internet Explorer で確認する (要素を検査する)
  2. セッションphpファイルの先頭に追加します
<?php
echo '<pre>';
var_dump($_POST);
die();
?>

これにより、データベースに送信される値が表示されます。

于 2013-05-03T06:57:45.420 に答える