gpt4 book ai didi

php - Ajax、PHP、MySQL 返回 sql 表

转载 作者:行者123 更新时间:2023-11-29 08:35:40 25 4
gpt4 key购买 nike

我有以下 Ajax 代码,用于将信息从 HTML 表单发送到 PHP 文件。

   $(document).ready(function(){
$('#txt').load( '../../do_comment.php' );
});
$(function(){
$("#submit").click(function(e) {
e.preventDefault();
var name = $("#user_name").val();
var comment = $("#user_comment").val();
var ID = '2'; //must change for each post
$.ajax({
type: "POST",
url: "../../do_comment.php",
data: {user_name:name, user_comment:comment, ID:ID},
success: function(){
$('#txt').load( '../../do_comment.php' );
},
error:function(e){alert("it failed");}
});
});
});

在我的 PHP 文件中,我声明如下变量:

$name = $_POST[user_name];
$comment = $_POST[user_comment];
$ID = $_POST[ID];

并用以下内容正确填充我的数据库:

 if($_POST[user_comment] != Null) {
$sql = "INSERT INTO $table_name (post_ID, user_name, comments)
VALUES ('$ID','$name', '$comment')";

$result = @mysql_query($sql,$connection) or die(mysql_error());

}

问题是没有一个变量会回显任何类型的值,当我尝试查询数据库时,只有硬编码 ID 值而不是使用变量时,它才有效。

$data = mysql_query("SELECT * FROM $table_name WHERE post_ID = 
'".mysql_real_escape_string($ID)."'") or
die(mysql_error());

最佳答案

从 $_GET/$_POST/$_REQUEST 收集时使用以下内容:

$name = $_POST['user_name'];
$comment = $_POST['user_comment'];
$ID = $_POST['ID'];

注意抽动。正确的语法是 $_POST['']

您是否检查过数据库以确保插入了正确的值?

此外,如果 post_id 是整数,请勿使用 tics

SELECT * FROM table WHERE post_ID = 1234 

注意:不要使用 MySQL_*,它已在 PHP 5.5 中弃用。使用 MySQLi 或 PDO。还要注意 SQL 注入(inject),尤其是在使用 MySQL_* 时。

关于php - Ajax、PHP、MySQL 返回 sql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15302829/

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