나는 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는 추가 데이터를 얻지 못합니다. 아무도 나에게 무엇이 잘못되었는지 말할 수 있습니까? 성공이라고 말하지만 데이터베이스에 데이터를 추가하지 않는 이유는 무엇입니까?
미리 감사드립니다
@gaurav가 언급했듯이 SQL 삽입 문에 오류가 있습니다.
$ sql = "INSERT INTO betriebsmodus (Modus, Parzelle) VALUES ( '". $ value. "', '". $ parcel. "')";
PHP에서는 DB에 문자열 값을 삽입하기 위해 점 연결 연산과 작은 따옴표를 사용해야합니다.
console.log에서는 항상 성공을 인쇄하기 때문에 인쇄 성공을 계속합니다. 대신 print console.log (response); 따라서 백엔드 아약스 호출에서 무슨 일이 일어 났는지 알게 될 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다