0

データベースに挿入する必要がありますが、エラーが発生します。ここで silimar の例を見ましたが、私のものは機能していません。何が問題なのか教えてください。

<?php
$con = mysql_connect("localhost","****","****");
if (!$con)
 {
 die('Could not connect: '. mysql_error());
 }
mysql_select_db("properties", $con);

// array for JSON response
$response = array();

    $result = mysql_query("INSERT INTO property( Pname, P_Price,P_Desc,P_City, P_Size,P_Rooms, P_garage, P_Address, P_Long, P_Lat,  Provinces_idProvinces)
    VALUES
        ('$_POST[Pname]','$_POST[P_Price]','$_POST[P_Price]','$_POST[P_Desc]','$_POST[P_City]','$_POST[P_Size]','$_POST[P_Rooms]','$_POST[P_garage]','$_POST[P_Address]','$_POST[P_Long]','$_POST[P_Lat]','$_POST[Provinces_idProvinces]')");   

 if ($result) {
        // successfully inserted into database
        $response["success"] = 1;
        $response["message"] = $result ;

        // echoing JSON response
        echo json_encode($response);
    } else {
        // failed to insert row
        $response["success"] = 0;
        $response["message"] = "Oops! An error occurred.";

        echo $response["success"];

        // echoing JSON response
        echo json_encode($response);
    }

 mysql_close();

?>

私は次のようなURLにする必要があります: localhost/php/add.php 、そしてそれは {"success":1,"message":true} を表示する必要がありますが、それは私を助けてくれません

4

3 に答える 3

1

これを試して

INSERT INTO property( Pname, P_Price,P_Desc,P_City, P_Size,P_Rooms, P_garage, P_Address, P_Long, P_Lat,  Provinces_idProvinces)
    VALUES
        ('$_POST[Pname]','$_POST[P_Price]','$_POST[P_Desc]','$_POST[P_City]','$_POST[P_Size]','$_POST[P_Rooms]','$_POST[P_garage]','$_POST[P_Address]','$_POST[P_Long]','$_POST[P_Lat]','$_POST[Provinces_idProvinces]')");

'$_POST[P_Price]'が2回繰り返されています。

于 2012-06-25T16:38:38.160 に答える
0

名前と列の数、および名前とSQLステートメントの対応する値の数に注意する必要があります。

于 2012-06-25T17:03:40.233 に答える
0

これが他の質問に関連している場合: PHP does not insert into mysql

3 つの問題:

  1. mysql create table スキーマに P_Size の代わりに P_Siz があります
  2. すべての非文字列フィールドは、一重引用符で囲んではいけません。これは、MySQL にそれらを文字列としてキャストするように指示しています。フィールドが int フィールドの場合、挿入に失敗します。

このデモの問題を修正しました(外部キーの関連付けを削除しました)

次の INSERT を試してください。

INSERT INTO property( Pname, P_Price,P_Desc,P_City, P_Size,P_Rooms, P_garage, P_Address, P_Long, P_Lat,  Provinces_idProvinces)
VALUES ('$_POST[Pname]',$_POST[P_Price],'$_POST[P_Desc]','$_POST[P_City]','$_POST[P_Size]','$_POST[P_Rooms]',$_POST[P_garage],'$_POST[P_Address]',$_POST[P_Long],$_POST[P_Lat],$_POST[Provinces_idProvinces])");
于 2012-06-25T16:56:17.253 に答える