gpt4 book ai didi

javascript - 使用 Angular、PHP、MySQL 进行数据库连接

转载 作者:行者123 更新时间:2023-11-29 19:10:34 25 4
gpt4 key购买 nike

嗨,我在一个小项目上遇到了一些麻烦。这是我第一次使用 mySQL 和 PHP,所以我现在只是尝试建立连接。我已经遵循了一些教程,但无法连接到数据库,我收到“抱歉!无法插入数据!”我的 php 脚本位于 index.html 底部,出现错误。

我在数据库上也有 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,
?>

最佳答案

It's my first time using mySQL and PHP

但是您似乎使用的是非常旧版本的 PHP(mysql_ 扩展已弃用)。

我不熟悉 Angular,但看起来您的代码依赖 Angular 来确定 PHP 脚本是否按预期运行。 Angular 无法根据脚本发送的内容做出决定,因此它必须根据脚本返回的 HTTP 状态(其中没有调试)做出决定。我预计您的 PHP 代码在运行插入之前会崩溃并烧毁。

我建议你:

1) 使用文本构建一个测试平台,无需使用 JavaScript 来在 insert.php 脚本中触发请求

2) 修改你的 PHP 脚本,使其 - 捕获有关处理的更多信息 - 使用适当的error reporting并确保您的错误日志记录正常工作 - 以可解析格式(即 JSON)呈现所采取操作的(适当)详细信息

3) 读取 PHP 和 MySQL 的日志文件(您可能需要在如上所述麻烦地更改/验证日志记录之前执行此操作)

4) 阅读 SQL injection

关于javascript - 使用 Angular、PHP、MySQL 进行数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43115615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com