php表单提交未插入数据库
对,这应该是非常基本的php,但是我一辈子都不明白为什么这不起作用 我有一个表单,提交时应该抓取字段,然后将数据插入数据库。我在index.php上有一个部分,它实际上从数据库中提取信息,工作正常,所以我看不出这是一个连接问题 db_connection.php我已经将这里的信息散列出来作为我数据库的信息,但一切都是正确的php表单提交未插入数据库,php,mysql,forms,Php,Mysql,Forms,对,这应该是非常基本的php,但是我一辈子都不明白为什么这不起作用 我有一个表单,提交时应该抓取字段,然后将数据插入数据库。我在index.php上有一个部分,它实际上从数据库中提取信息,工作正常,所以我看不出这是一个连接问题 db_connection.php我已经将这里的信息散列出来作为我数据库的信息,但一切都是正确的 <?php define("DB_SERVER","**********"); define("DB_USER","*************"); define("D
<?php
define("DB_SERVER","**********");
define("DB_USER","*************");
define("DB_PASS","*********");
define("DB_NAME","reviews");
$connection = mysqli_connect(DB_SERVER,DB_USER,DB_PASS,DB_NAME);
if(mysqli_connect_errno()){
die("database connection failed");
}
?>
所以我把它改成了
if(!results){
echo "hello";
}
我没有看到“hello”,这表明我甚至没有进入它处理post字段的部分
自行解决的:
我修复了它,我将action=“index.php”更改为action=“”
我不明白,它本应该起作用的,但出于某种原因,让动作空白起作用。两者都可以接受 每次提交时,$\u POST['submit']的if语句可能都是false。也许试试!空($\u POST)设置为
<form action="index.php" method="POST">
没有工作,但我不明白为什么不,因为它引用的是当前页面
然而,将其更改为此解决了问题
<form action="" method="POST">
您将php放在同一个文件中,因此,如果action=”“默认为同一个页面,那么它可能会工作。。action=“index.php”应在当前网址前加上前缀。也许可以尝试将完整的网址放在action=“index.php的url”中,看看是否有效。如果没有,则action=“index.php”不能指向正确的文件。您需要处理一条错误消息来集中解决问题。查询后可以执行if(!$result)echo mysqli->error
并将错误添加到您的帖子中?我的错误,应该是(!$result)echo$connection->error代码>以匹配您的代码。我知道这并不是问题所在,但在将来仍然是一个有用的调试工具。这将更加奇怪,除非op使用的是违反直觉的htaccess规则,这将搞乱请求引用程序
if(!results){
echo "hello";
}
<form action="index.php" method="POST">
<form action="" method="POST">