我正在尝试使用 ajax 和 php 将数据插入数据库,但这不起作用。与数据库的连接正在工作(仅使用 php 进行了尝试)。我的代码的 ajax 部分正在发布并且值是有效的(用 firebug 检查)。我使用 postgresql 作为我的数据库我不知道为什么它不起作用。当我按下评论按钮时它可以工作(我没有错误),但字段中的文本不会进入数据库
这是代码:
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.6.2.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$("#submit").click(function(event) {
var name = $("#name").val();
var title= $('#title').val();
var comment= $('#comment').val();
$.post("comment.php", {name: name, title: title, comment: comment},
function (data) {
if (!data) {
$("#submit").append("Failed to reach server. Login Error.");
} else {
alert(data);
}
});
return false;
});
});
</script>
<div class='comments'>
<!--<form action="scripts/comment.php" method="POST"> -->
<form action="" method="POST">
<label>Name: </label><br /><input id="name"type="text" name="name" /><br /><br />
<label>Title: </label><br /><input id="title"type="text" name="title" /><br /><br />
<label>Comment: </label><br /><textarea id="comment" name="comment" cols="90" rows="7"> </textarea><br /><br /><br />
<input id="submit" type="submit" name="submit" value="Comment" /><br />
</form>
<hr width=auto size="5px" />
</div>
和用于插入的 php:
<?php
if (isset($_POST['name'])) {
// attempt a connection
$conn_string = "host= port= dbname= user= password=";
$dbh = pg_connect($conn_string);
if (!$dbh) {
die("Error in connection: " . pg_last_error());
}
$name =pg_escape_string($_POST['name']);
$title= pg_escape_string($_POST['title']);
$comment =pg_escape_string($_POST['comment']);
$today=pg_escape_string(date('d-m-y'));
$sql = "INSERT INTO comments VALUES ('$name','$comment','$today','$title',nextval('comments_id_seq'::regclass))";
$result = pg_query($dbh, $sql);
if (!$result) {
die("Error in SQL query: " . pg_last_error());
}
pg_close($dbh);
// $page='../index.php';
//header('Location:'.$page);
}
?>
任何帮助,将不胜感激 :) 。谢谢