我正在做一个评论系统。我需要能够发布(插入数据库)和帖子自动必须是可见的网站以及。
我有两个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`)
);
我认为"数据"在你的成功方法不是一行,这是行。因此,您必须一次访问一行或使用"foreach"。
<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)
{
jQuery.each(data.rows, function() {
var id = this[0];
var name = this[1];
var email = this[2];
var type = this[3];
var message = this[4];
var date = this[5];
$('.output-post').append("<b>id: </b>"+id+"<b> name: </b>"+name+email+type+message+date);
});
}
});
});
</script>
</div>
也把你的php代码改成如下:
$array = mysqli_fetch_row($result);
echo "{'rows':" . json_encode($array) . "}";
?>