Einfügen von Daten in die Datenbank ein, in angularjs
Ich versuche zum einfügen von Daten in die Datenbank, aber es funktioniert nicht bei allen! Ich folgte ein tutorial und die Arbeit nach, Aber seine nicht funktioniert. Ich habe viel probiert aber keinen Erfolg bis jetzt.
Hier ist meine html-Datei
<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"> </script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<form>
Name:-<input type="text" ng-model="bname" />
Phone:-<input type="text" ng-model="bphone" />
<input type="button" value="Submit" ng-click="insertData()" />
</form>
</div>
<script>
var app = angular.module('myApp',[]);
app.controller('myCtrl',function($scope,$http){
$scope.insertData=function(){
$http.post("insert.php", {
'bname':$scope.bname,
'bphone':$scope.bphone})
.success(function(data,status,headers,config){
console.log("Data Inserted Successfully");
});
}
});
</script>
</body>
</html>
Und insert.php in die ich mich einfügen von Daten in der Datenbank
<?php
$data = json_decode(file_get_contents("php://input"));
$bname = mysql_real_escape_string($data->bname);
$bauthor = mysql_real_escape_string($data->bphone);
mysql_connect("localhost", "root", "");
mysql_select_db("angular");
mysql_query("INSERT INTO ang('name', 'phone') VALUES('".$bname."','".$bauthor."')");
?>
UPDATE
<?php
$data = json_decode(file_get_contents("php://input"));
$con = new mysqli('localhost', 'root', '', 'angularjs');
$bname = mysqli_real_escape_string($con, $data->bname);
$bphone = mysqli_real_escape_string($con, $data->bphone);
if($con->connect_errno > 0){
die('Unable to connect to database [' . $con->connect_error . ']');
}
mysqli_query($con,"INSERT INTO jstable (name, phone)VALUES ('".$bname."', '".$bphone."')");
mysqli_close($con);
?>
Nach dem Update meine code bekam ich diese Fehlermeldung :-
Notice: Trying to get property of non-object in E:\xampp\htdocs\insert.php auf der Linie 4
Notice: Trying to get property of non-object in E:\xampp\htdocs\insert.php in Zeile 5
Suchte ich über diesen Fehler und fand viele Ergebnis, aber keiner von Ihnen war hilfreich in meinem Fall!
- welche Fehler haben Sie? Erhalten Sie Daten richtig auf dem server? versuchen echo $Daten->Namen und $Daten->bphone und überprüfen Sie die Netzwerk-Registerkarte für die Antwort... das ist eine sichere Sache, dass die Antwort wäre nicht gut, sonst würden Sie bereits eingegeben haben in die Datenbank..
- Barot Es zeigt keine Fehler. Eigentlich nicht zeigen, jede Art von Aktivität, wenn ich auf submit-button! Auf meine Vermutung Formular die Daten nicht mal bis zu den insert.php Datei
- Okay Rishabh.. Geben Sie mir eine Weile... habe ich dein problem..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich veränderte den code in der folgenden Weise
HTML-CODE:
und test.php
Dies funktioniert gut..
Fatal error: Call to undefined function mysql_connect()
Fatal error: Call to undefined function mysqli() in E:\xampp\htdocs\insert.php on line 3
Und die zweite Sache, siehe mein aktualisierter code im chat als pro ur suggetion, aber noch kein Glück!Sind Sie entleeren Sie Ihre Werte (Einstellung Sie zu
false
...) mitmysql_real_escape_string()
bevor Sie eine Datenbank öffnen connection. Öffnen Sie die Verbindung zuerst.Aber die beste Lösung wäre-Schalter auf PDO oder mysqli und die Verwendung von vorbereiteten Anweisungen. Dann müssen Sie nicht haben zu tun, keine Flucht mehr.
ändern Sie Ihren code wie folgt, es könnte Ihr problem lösen.
angular.js:10765XMLHttpRequest cannot load file:///E:/xampp/htdocs/saket/wp-content/themes/Divi/insert.php. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
können Sie Daten mit Bild und auch der überprüfung von Eingaben.
insert.js
save_data.php