【发布时间】:2014-03-30 14:03:23
【问题描述】:
我正在开发一个评论系统。我需要能够发帖(插入数据库),并且帖子也必须自动在网站上可见。
我有两个 PHP 文件,一个是主页 (index.php),另一个是连接到数据库并获取 (connect_to_database.php)。
从 connect_to_database.php 我连接到数据库,并尝试获取行。 然后 Ajax 脚本应该将信息打印到一个 div 中。
我可以发帖,并且可以检查信息是否已添加到数据库中,但我没有看到任何打印的数据库行。
问题可能出在 Ajax 脚本上吗?
感谢您的帮助,
connect_to_database.php
...
$connect=mysqli_connect($mysql_host, $mysql_user, $mysql_password, $mysql_database);
//$connect=mysqli_connect("localhost", "commenter","phyBq2JT", "udb_commenter" );
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$db_select = mysqli_select_db($connect,'udb_commenter');
$sql="SELECT * FROM $TABLE_NAME";
$result=mysqli_query( $connect, $sql);
$array = mysqli_fetch_row($result);
echo json_encode($array);
?>
index.php 这里只是 Ajax 代码的一部分。在它上面,我有一个与数据库的有效连接。
<div class="output-post" id="output">
<script language="JavaScript" id="print" type="text/javascript" src="jquery.js">
$(function ()
{
$.ajax({
url: 'connect_to_database.php',
data: "",
dataType: 'json',
success: function(data)
{
var id = data[0];
var name = data[1];
var email = data[2];
var type = data[3];
var message = data[4];
var date = data[5];
$('.output-post').html("<b>id: </b>"+id+"<b> name: </b>"+name+email+type+message+date);
}
});
});
</script>
</div>
sql表:
CREATE TABLE IF NOT EXISTS `posts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(40) NOT NULL,
`email` varchar(60) NOT NULL,
`type` varchar(40) NOT NULL,
`message` text NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
);
【问题讨论】:
-
console.log(data)说什么? -
在哪里可以找到 console.lo(data)?
-
console.log() 将写入浏览器的 JavaScript 控制台。您可以访问此控制台。我不知道你用的是哪个浏览器,但你可以尝试按 F12 打开它。
-
在进行以下更改后:语法错误:使用 //@ 来指示 sourceMappingURL 杂注已被弃用。使用 //# 代替 jquery.min.js:1 错误:ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js 被分配了一个 //# sourceMappingURL,但在函数体 example.de:34 之后已经有一个 SyntaxError: missing }
-
将你的 javascript 代码移动到一个自己的