嗨,我在一个小项目上遇到了一些麻烦。这是我第一次使用mySQL和PHP,所以我现在只想尝试连接。我已经按照一些教程而无法连接到数据库,我收到了“抱歉!数据无法插入!”来自index.html底部的php脚本的错误。
我在root用户的数据库上也有一个密码,但即使我在php文件中输入它仍然无法正常工作。
任何帮助都非常感谢大家。
的index.html:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"></link>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
</head>
<body>
<div class= "container" style = "width:500px">
<div ng-app="myapp" ng-controller="usercontroller">
<label>Email</label>
<input type ="text" name="email" ng-model="email" class="form-control"/>
<br />
<label>Password</label>
<input type ="text" name="password" ng-model="password" class="form-control"/>
<br />
<input type="submit" name="btnInsert" ng-click="insertData()" value="ADD"/>
</div>
</div>
<script>
var app = angular.module('myapp',[]);
app.controller('usercontroller', function($scope, $http){
$scope.insertData = function(){
$http.post(
"insert.php",{
'email':$scope.email,
'password':$scope.password
}).then(function(response){
alert("Data inserted Successfully! YIPEEEE!!!");
console.log("Data inserted Successfully");
},function(error){
alert("Sorry! Data Couldnt be inserted!");
console.error(error);
});
}
});
</script>
</body>
</html>
和我的insert.php:
<?php
//insert.php
$data = json_decode(file_get_contents("php://input"));
$email = $data->email;
$password = $data->password;
mysql_connect("localhost","root","");
mysql_select_db("test");
mysql_query ("INSERT INTO 'test_user'('email', 'password') VALUES ('".$email."','".$password."')") or die(mysql_error());
echo $email. " " .$password;
/*
if(mysqli_query($connect, $query)){
echo "User inserted...";
}
else{
echo "User not inserted...";
}
*/
#mysqli_real_escape_string($connect,
#mysqli_real_escape_string($connect,
?>
答案 0 :(得分:0)
这是我第一次使用mySQL和PHP
但您似乎使用的是旧版本的PHP(不推荐使用mysql_扩展名)。
我不熟悉Angular,但看起来您的代码依赖于Angular来确定PHP脚本是否按预期运行。 Angular不能根据脚本发送的内容做出决定,因此必须根据脚本返回的HTTP状态做出决定(其中没有调试)。我希望你的PHP代码在运行插入之前崩溃和刻录。
我建议你:
1)使用textare和NO javascript构建测试装备,以在insert.php脚本中触发请求
2)修改你的PHP脚本 - 捕获有关处理的更多信息 - 使用适当的error reporting并确保您的错误记录正常 - 以可解析的格式(即JSON)
呈现所采取行动的(适当的)细节3)读取您的日志文件 - 对于PHP和MySQL(您可能希望在更改/验证日志记录之前执行此操作)
4)阅读SQL injection