-2

私は最近Angularを始めたばかりですが、まだいくつかの問題があります...

角度データでデータベースを更新できないようですが、データベースからデータを取得できます。

これは、データを投稿するためのコードです。

$scope.submit = function(infographic){
    var data = {
            id: infographic.PK_InfoID,
            label: infographic.label,
            value: infographic.value
        };
        console.log(data);
       $http.put("dataout.php", data).success(function(data) {
                                console.log(data);
                                                });
   };

そして、これが私が使用するPHPです:

if(isset($_POST['id'])){

    $id = $_POST['id'];
    $label = $_POST['label'];
    $value = $_POST['value'];
    $query = "UPDATE tblInfo SET label = '".$label"', value = '".$value"' WHERE PK_InfoID = '$id'";
    mysql_query($query);
}

誰かが私を助けてくれますか?

どうも

4

2 に答える 2

1

Angular は、リクエスト データを json エンコードされた文字列として送信します。PHP はその文字列を解析できないため、$_POST空です。

次のようなものを使用します。

<?php
$data = json_decode(file_get_contents('php://input'), true);
if (json_last_error() === JSON_ERROR_NONE) {
  // use $data instead of $_POST
  print_r($data);
}

受け取る側で。

于 2013-01-09T15:24:07.490 に答える
0

PHP ファイルをデバッグします。

file_put_contents('/tmp/postContents.txt', print_r($_POST, true));

これにより、PHP スクリプトが期待どおりのデータを受け取るかどうかがわかります。

また、SQL インジェクションのセキュリティ問題を作成していないことを確認してください。値をエスケープする必要があります ($label など)。情報については、Google の「SQL インジェクション php」を参照してください。

于 2013-01-09T15:16:50.067 に答える