-1

wamp サーバー内に PHP ファイルがあります。そのファイルをlocalhostで実行すると、以下のようなエラーが発生します。

これは私のPHPファイルです:

<?php
$response = array({
    "success": [
        {
            "message": "Required field id missing"
        },
        {
            "message": "successfully created."
        },
        {
            "message": "Oops! An error occured"
        }
    ]}
);
 
if (isset($_POST['name']) && isset($_POST['price']) && isset($_POST['description'])) {
 
    $name = $_POST['name'];
    $price = $_POST['price'];
    $description = $_POST['description'];
 

    require_once __DIR__ . '/db_connect.php';
 
    
    $db = new DB_CONNECT();
 
   
    $result = mysql_query("INSERT INTO products(name, price, description) VALUES('$name', '$price', '$description')");
 
   
    if ($result) {
        
        $response["success"] = 1;
        $response["message"] = "Product successfully created.";
 
       
        echo json_encode($response);
    } else {
      
        $response["success"] = 2;
        $response["message"] = "Oops! An error occurred.";
 
    
        echo json_encode($response);
    }
} else {
   
    $response["success"] = 0;
    $response["message"] = "Required field(s) is missing";
 
    
    echo json_encode($response);
}
?>

次のエラーが表示されるlocalhostで実行すると、

( ! ) 解析エラー: D:\wamp\www\android\create_product.php の 2 行目に、構文エラー、予期しない '{'、')' が必要です

また、ブラウザでphpファイルを実行するようにローカルパスを設定する方法を教えてください。

4

2 に答える 2

1

あなたの配列形式は間違っています、ところで、あなたは条件で配列にメッセージを追加しているので、あなたはそれを必要としないので、この部分を削除してください:

$response = array({
    "success": [
        {
            "message": "Required field id missing"
        },
        {
            "message": "successfully created."
        },
        {
            "message": "Oops! An error occured"
        }
    ]}
);
于 2013-10-30T06:51:20.283 に答える
0

あなたのコードはこれをよく見てください:

  • すべての条件ステートメントが終了した後に応答をエコーするべきではありません。一度行うことができます。
  • また、isset関数を使用する場合、必要な数のパラメーターを使用できます。


 isset($_POST['name']) && isset($_POST['price']) && isset($_POST['description'])

に等しい:

 isset($_POST['name'],$_POST['price'],$_POST['description'])

最後の:

if (isset($_POST['name'],$_POST['price'],$_POST['description'])) {

    $name = $_POST['name'];
    $price = $_POST['price'];
    $description = $_POST['description'];


    require_once __DIR__ . '/db_connect.php';


    $db = new DB_CONNECT();


    $result = mysql_query("INSERT INTO products(name, price, description) VALUES('$name', '$price', '$description')");


    if ($result) {
        $response["success"] = 1;
        $response["message"] = "Product successfully created.";
    } else {
        $response["success"] = 2;
        $response["message"] = "Oops! An error occurred.";
    }
} else {
    $response["success"] = 0;
    $response["message"] = "Required field(s) is missing";
}

echo json_encode($response);
于 2013-10-30T07:02:58.097 に答える