2016-11-03 25 views
0

私はAngularJsに完全に新しいですが、かなりクールなので、私はそれを学ぼうとしています。しかし、私はこのために、私はいくつかのチュートリアルを読み、次のことを試してみました、私のデータベースにAngularJSからデータを置くしようとしています:AngularjSのデーターベースにデータを投稿する

ctrl.js

var app = angular.module('controller', []); 

app.controller('controleCtrl', function($scope, $http){ 
    "use strict"; 
    $scope.value = 0; 
    $scope.parcel = 1; 

postData(); 

function postData(){ 
     $http({ 
      method: 'POST', 
      url: 'http://192.168.1.35/updateModus.php', 
      data: { 
       'value': $scope.value, 
       'parcel': $scope.parcel 
      } 
     }) 
      .then(function(response){ 
       console.log("Success"); 
       //success 
     }, 
      function(response){ 
       console.log("failed"); 
       //failed 
      }) 
     ; 
    } 

をupdateModus.php

<?php 
$servername = 172.0.0.1 
$username = "root"; 
$password = ""; 
$dbname = "uebergabestation"; 

$value = $_POST['value']; 
$parcel = $_POST['parcel']; 
// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "INSERT INTO betriebsmodus (Modus, Parzelle) VALUES (" + $value + ", " + $parcel +")"; 

if ($conn->query($sql) === TRUE) { 
    echo "Record updated successfully"; 
} else { 
    echo "Error updating record: " . $conn->error; 
} 

$conn->close(); 
?> 

コンソールは、たとえ異なる方法であっても毎回「成功」と言っていますが、DBは追加データを取得しません。誰かが私に何か間違って言うことができますか?なぜそれはsuccesとは言えますが、データをデータベースに追加しないのですか?事前

+0

phpプロシージャのログとは何ですか? – Massimo

+1

SQL挿入クエリの問題のようです... –

+0

ModusとParzelle varchars/stringsはありますか?エコーする代わりに、メッセージを投稿に戻して、javascriptコンソールに出力します。 – aksappy

答えて

1

@gauravが述べたようで

おかげで、 "(モデュス、Parzelle)VALUES(betriebsmodus。INSERT INTO""= SQLのINSERT文でエラー

$ sqlをそこにある。$値。" " 、 '"$ parcel。"') ";

phpでは、DBに文字列値を挿入するには、ドット連結演算と一重引用符を使用する必要があります。

console.logでは常にハードコードされた成功を出力するので、印刷は成功し続けます。代わりにconsole.log(応答)を表示してください。バックエンドのAjaxコールで何が起こったのかを知ることができます。

関連する問題