[英]Inserting data in Mysql database
我已经创建了一个下拉列表以及类别和名称的输入类型,但是在两种情况下,当我单击下一步时,它都将我定向到另一个页面,但是没有任何内容保存在数据库中。 company_account是必须在其中插入数据的表名,它具有四行id,category,cname,about
<?php include( "./inc/header.inc.php");
require( "./inc/connect.inc.php"); ?>
<div>
<form action = "payment.php" method= "POST">
<select id="category" name="category" class="old_ui_selector">
<option value="0" selected="1">Choose your category</option>
<option value="">Accounting Firm</option>
<option value="">Agriculture</option>
<option value="">Automotive</option>
<option value="">Aerospace/Defence</option>
<option value="">Building Material</option>
</select>
</div>
<br>
<input type = "text" name="cname" placeholder= "Name"/>
<br><br>
By clicking Next you agree to the <a href="terms.php" style="color: #008781">Terms and Conditions.</a>
<br>
<input type = "submit" name="comp" value="Next"/>
</form>
<?php
if(isset($_POST['comp']))
{
$category=$_GET['category'];
$cname = $_POST['cname'];
$ins=mysql_query("insert into company_account (category) values ('$category')");
$insert = mysql_query("INSERT INTO company_account VALUES ('','$category','$cname','$about')");
if($ins)
if($insert)
{
echo "<br>".$category."inserted";
}
else
{
echo mysql_error();
}
}
?>
您那里有一些问题,首先是您正在使用mysql,请将其更新为mysqli或更好的是PDO。
其次,您的表单是使用POST提交的,但是您尝试使用GET来收集类别。
您还需要提供不带IP和密码的connect.inc.php内容,以便人们可以查看配置。
我建议您在继续阅读之前,先阅读这里内容,然后再进行进一步的了解。
https://code.tutsplus.com/tutorials/why-you-should-be-using-phps-pdo-for-database-access--net-12059
祝你好运。
注意:
mysql
:此扩展在PHP 5.5.0中已弃用,在PHP 7.0.0中已被删除。 相反,应使用MySQLi或PDO_MySQL扩展。
您已经提供了form action
,在单击“提交”按钮后将进行重定向。
您已在同一页面本身中编写了INSERT STATEMENT
,这对您甚至不起作用。
首先删除
action=""
,然后根据保存的数据将其重定向。
HTML:
<form action = "" method= "POST">
</form>
并且您的“选项”值缺少值,并且在提交表单后,这些值将不会输入到数据库中。 因此,您需要执行以下操作。
更换:
<option value="">Accounting Firm</option>
带有:
<option value="Accounting Firm">Accounting Firm</option>
用于插入的PHP代码:
您没有提供插入值表值,因此插入代码将不起作用。
句法:
INSERT INTO TABLENAME(`columnname1`,`columnname2`,.....) VALUES(VALUE1,VALUE1,....)
因此,建议您对操作使用正确的表结构,然后插入数据。
插入查询:
$insert = mysql_query("INSERT INTO company_account(`category`,`name`,`about`) VALUES ('$category','$cname','$about')");
您可以insert all in the single query
本身,然后使用标题位置进行重定向。
保存数据后,使用header Location
重定向到特定页面。
header('location : http://www.google.co.in');
PHP部分:
<?php
if(isset($_POST['comp']))
{
$category=$_POST['category'];
$cname = $_POST['cname'];
$insert = mysql_query("INSERT INTO company_account(`category`,`name`,`about`) VALUES ('$category','$cname','$about')");
$rows = mysql_affected_rows();
if($rows=0)
{
echo mysql_error();
}
else
{
ob_start(); // Refresh the Output Buffer
header('location: http://www.google.co.in');
exit;
}
}
?>
注意:您在插入语句中使用的
$about
,但是没有值提供给插入语句。 请检查一下。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.