在Mysql数据库中插入数据

时间:2016-10-12 08:44:15

标签: php html mysql

我已经创建了一个下拉列表以及类别和名称的输入类型,但在这种情况下,我点击下一步它会将我引导到另一个页面,但我的数据库中没有任何保存。 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();
    }
}
?>

2 个答案:

答案 0 :(得分:5)

你有一些问题,首先是你使用的是mysql,要么将它更新为mysqli,要么更好地将其更新为PDO。

第二,您的表单是使用POST提交的,但您尝试使用GET收集类别。

你还需要提供你的connect.inc.php内容而不用IP和密码,这样人们就可以查看配置了。

我会建议你在进一步阅读之前先阅读并在继续之前获得更好的理解。

https://code.tutsplus.com/tutorials/why-you-should-be-using-phps-pdo-for-database-access--net-12059

祝你好运。

答案 1 :(得分:2)

  

注意: mysql:此扩展程序在PHP 5.5.0中已弃用,并已在PHP 7.0.0中删除。相反,应使用 MySQLi PDO_MySQL 扩展名。

您已提供form action,并会在点击提交按钮后重定向。

您已将INSERT STATEMENT写在同一页面本身,甚至不适合您。

  

首先删除action="",然后根据保存的数据重定向它。

<强> HTML:

<form action = "" method= "POST">
</form>

您的Option值缺少值,并且在提交表单后,不会将值输入到DB中。因此,您需要执行以下操作。

<强>替换

<option value="">Accounting Firm</option>

使用:

<option value="Accounting Firm">Accounting Firm</option>

插入的PHP代码:

您插入代码将无效,因为您未提供插入操作的表值。

<强>语法:

INSERT INTO TABLENAME(`columnname1`,`columnname2`,.....) VALUES(VALUE1,VALUE1,....)

因此建议您使用正确的表结构进行操作,然后插入数据。

INSERT QUERY:

$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 PART:

<?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您在Insert语句中使用,但没有为Insert语句提供任何值。请检查一下。