gpt4 book ai didi

php - Ajax 和 PHP - 在不打印 Ajax 的情况下获取 Mysql 表

转载 作者:行者123 更新时间:2023-11-29 00:16:41 25 4
gpt4 key购买 nike

我正在开发一个评论系统。我需要能够发布(插入数据库)并且该帖子也必须在网站上自动可见。

我有两个 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);
?>

索引.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) . "}";
?>

关于php - Ajax 和 PHP - 在不打印 Ajax 的情况下获取 Mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22744909/

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