Php 如何将数组数据从表单发布到mysql数据库

Php 如何将数组数据从表单发布到mysql数据库,php,mysql,arrays,post,checkbox,Php,Mysql,Arrays,Post,Checkbox,请原谅我的天真…我不是程序员!我已经花了4天的大部分时间在这上面,我已经准备好接受PHP课程或强化治疗 场景:数据库内置mySQL。表中包含除ID和age之外的所有列varchar(50)-均为INT。请参见下文,我只需要在链接列/字段的复选框中输入“是”值 我想用一个既有文本框又有复选框的表单插入数据。我认为最好的方法是php数组 表格: 孩子名 年龄 父名称 联系电话 主题 划痕 应用程序发明家 HTML 参加的会议 2012年11月 2012年12月 PHP脚

请原谅我的天真…我不是程序员!我已经花了4天的大部分时间在这上面,我已经准备好接受PHP课程或强化治疗

场景:数据库内置mySQL。表中包含除ID和age之外的所有列varchar(50)-均为INT。请参见下文,我只需要在链接列/字段的复选框中输入“是”值

我想用一个既有文本框又有复选框的表单插入数据。我认为最好的方法是php数组

表格:


孩子名

年龄

父名称

联系电话

主题
划痕 应用程序发明家 HTML

参加的会议
2012年11月

2012年12月

PHP脚本:

<?php

include("config.php");

$childrecord = array("childname","age","parent_name","contact_no","scratch","app_inventor","html");

if(isset($_POST['childrecord'])){
    $childrecord = $_POST['childrecord'];
    $i = 0;
    foreach ($childrecord as $key => $value); {
    $i++;

    $sql="INSERT INTO tblchildren (childrecord) VALUES ($_POST['childrecord'])";
mysql_query($sql);

}

?>

您希望在代码中存储表单数据

为此,您必须在代码和数据库中进行以下更改

形式上 因此,您需要修改process.php

在修改表的结构之前,请执行以下步骤

1. Delete your existing table
2. Create new table




 DROP TABLE tblchildren ;


         CREATE TABLE tblchildren
         (
           id INT AUTO_INCREMENT PRIMARY KEY,
           childname VARCHAR(30),
           age TINYINT,
           parent_name VARCHAR(30),
          contact_no VARCHAR(20),
           scratch ENUM('yes','no'),
           app_inventor ENUM('yes','no'),
           html ENUM('yes','no'),
           sesNov12Attnd ENUM('yes','no'),
           sesDec12Attnd ENUM('yes','no')
         );
由于您是php新手,所以我使用了基本函数, 我建议您使用从mysql切换到mysqli

process.php
你的问题/你的问题是什么?显然PHP不起作用。我只学到了一小部分,不知道这个论坛是程序员(@Rajeev)的。我曾尝试使用isset作为复选框,但我在表单中没有选中的那些地方得到了未定义的索引,所以我想,但是我把数组语法搞错了,我想…@user2550346这个网站不是程序员所有的,而是由程序员主持的。非常感谢-到目前为止,在提交表单时遇到了这个错误:你的SQL语法有一个错误;检查与MySQL服务器版本对应的手册,以了解第2行“,,no,no,yes,no,no)”附近使用的正确语法。我正在使用MySQL版本5.5.27运行XAMPP…您需要将查询修改为:-$sql=“插入tblchildren(childname、age、parent_name、contact_no、scratch、app_inventor、html、sesNov12Attnd、sesDec12Attnd)值(“$childname”、$age、$parentName'、$contactNo'、$scratch'、$appInventor'、$html'、$nov12'、$dec12');为什么要使用enum?使用一点(1)或一点(1)如果还有其他问题,请告诉我。@mc_fish,enum的性能更好。有关更多详细信息,请查看:-
note: Input field value should be relevant.

With your existing html code your process.php will get data in this structure


        Array
        (
            [textfield] => Array
                (
                    [childname] => dang
                    [age] => 18
                    [parent_name] => doctor
                    [contact_no] => 100
                )

            [checkbox] => Array
                (
                    [scratch] => checkbox
                    [app_inventor] => checkbox
                    [html] => checkbox
                    [nov12] => checkbox
                    [dec12] => checkbox
                )

            [Submit] => Submit
        )
1. Delete your existing table
2. Create new table




 DROP TABLE tblchildren ;


         CREATE TABLE tblchildren
         (
           id INT AUTO_INCREMENT PRIMARY KEY,
           childname VARCHAR(30),
           age TINYINT,
           parent_name VARCHAR(30),
          contact_no VARCHAR(20),
           scratch ENUM('yes','no'),
           app_inventor ENUM('yes','no'),
           html ENUM('yes','no'),
           sesNov12Attnd ENUM('yes','no'),
           sesDec12Attnd ENUM('yes','no')
         );
        <?php

            $con=mysql_connect("hostname","username","pass");
            $db=mysql_select_db('dbname', $con);

            //check form is submitted    
            if(isset($_POST)){

            //mysql_real_escape_string() prevents from sql injection.
            $childname= mysql_real_escape_string($_POST['textfield']['childname']);
            $age=mysql_real_escape_string($_POST['textfield']['age']);
            $parentName=mysql_real_escape_string($_POST['textfield']['parent_name']);
            $contactNo=mysql_real_escape_string($_POST['textfield']['contact_no']);


            $scratch=isset($_POST['checkbox']['scratch'])?'yes':'no';
            $appInventor=isset($_POST['checkbox']['app_inventor'])?'yes':'no';
            $html=isset($_POST['checkbox']['html'])?'yes':'no';
            $nov12=isset($_POST['checkbox']['nov12'])?'yes':'no';
            $dec12=isset($_POST['checkbox']['dec12'])?'yes':'no';

            $sql="INSERT INTO tblchildren(childname, age, parent_name, contact_no, scratch,app_inventor,html, sesNov12Attnd, sesDec12Attnd )
            VALUES
            ('$childname',$age,'$parentName','$contactNo','$scratch','$appInventor','$html','$nov12','$dec12')";

            mysql_query($sql);
            }else{
                echo "Form Not SUbmitted";
             }
        ?>