【发布时间】:2016-01-18 17:40:46
【问题描述】:
我正在尝试使用 javascript 和 PHP 更新数据库,这是我的 index.html 代码:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
<body>
<input type="text" id="descriptioninput">
<input type="number" id="budgetin">
<input type="number" id="budgetout">
<button type="button" onclick="addToDB()">Add to database</button>
<script>
function addToDB()
{
var descriptioninput = document.getElementById('descriptioninput').value;
var budgetin = document.getElementById('budgetin').value;
var budgetout = document.getElementById('budgetout').value;
$.ajax ( {
type: 'POST',
url: 'addtodb.php',
data:{descriptioninput:descriptioninput, budgetin:budgetin, budgetout:budgetout},
success:function (data) {
// Completed successfully
alert('success!');
}
});
</script>
</body>
</html>
这是我的addtodb.php 代码:
<?php
$host = "localhost";
$username = "root";
$password = "";
$dbname = "budgetdb";
$conn = new mysqli($host, $username, $password, $dbname);
if ($conn === TRUE)
{
$descriptioninput = $_GET['descriptioninput'];
$budgetin = $_GET['budgetin'];
$budgetout = $_GET['budgetout'];
$query = "INSERT INTO budget (description, budgetin, budgetout) VALUES ('$descriptioninput', '$budgetin', '$budgetout')";
$conn->query($query);
$conn->close();
}
?>
但似乎我的 PHP 脚本没有运行。我的数据库中没有出现任何更改。我尝试在 PHP 文件中执行 warning() 并使用.done(function(text)) 警告它,但没有显示任何内容。
【问题讨论】:
-
是的,它似乎没有进入如果条件。先看看db连接成功时$conn里面有什么。
-
你可以使用开发者控制台或萤火虫(在火狐上)或类似的东西来看看发生了什么?还要先测试你的服务器端代码。
-
$conn !== true, $conn == true - 这就是问题所在。 mysqli_connect 不返回 true。
-
先在里面写echo if来确认条件满足。
标签: javascript php mysql sql ajax