如何通过PHP把html的表单提交到mysql数据库?

html部分的表单代码如下,请问php部分该怎么写?相应的mysql部分又该如何设置?

<form id="diaocha" method="post" action="diaocha.php">
请评价本期内容 <input type="radio" name="radiogroup" value="best" />非常满意
<input type="radio" name="radiogroup" value="well"/>比较满意
<input type="radio" name="radiogroup" value="soso"/>一般
<input type="submit" value="提交" name="submit" />
</form>

首先,你得在diaocha.php这个文件,接收表单传的值

$radiogroup = isset($_POST['radiogroup'])?$radiogroup:'';


isset用来检测是否有选中提交,然后就是数据库的链接

$con = mysql_connect('localhost','root',''); //三个参数,分别是,连接的主机名,mysql的账号,mysql密码
mysql_query('set names utf8'); //设置连接的字符集,如果页面是utf8的编码,就是utf8,如果是gbk的话,那就写 set names gbk
mysql_select_db('xxx',$con);&nbsp; //xxx就是你要选择的数据库名称


插入数据

$sql = "insert into xxxx set xxx = $radiogroup" //xxxx 是你要插入的表名,xxx就是字段名

mysql_query($sql);

追问

关键是,三个单选input的的name都是"radiogroup",我要怎么把数据插入到相应的mysql里字段里呢?(“best”、“well”、“soso”三个字段)?
我最大的疑惑就在这里,求解答

追答

第一:为什么你要设置三个字段来存储radiogroup的值,你用一个字段来存储不行么?

第二:radio是单选框,所以,你用来提交的话,只能获取到一个值,其他两个是获取不到,如果你一定要这么弄的话,那可以对提交上来的值进行判断

$v = isset($_POST['radiogroup'])?$_POST['radiogrouip']:'';
switch($v){
    case 'best':$field = 'best':break;
    case 'well':$field = 'well';break;
    case 'soso':$field = 'soso';break;
}
$sql = "insert into xxx set $field = $v";
mysql_query($sql);

个人建议。。。这样的值,用一个字段来存储就行了

追问

你说得对,的确该用一个字段就够了。不过,我的diaocha.php文件写成下面这样,却还是不能把数据插入mysql数据库,还请指点一下,哪里写错了:

追答

sql语句写错了 你看看我的insert语句是怎么写的

追问

按你写的sql去改了,但还是不行。。。。
也不太明白这句sql的意思
$radiogroup = isset($_POST['radiogroup'])?$radiogroup:'';

追答

$radiogroup = isset($_POST['radiogroup'])?$radiogroup:''; 这个 是判断你提交的表单,radiogroup有没有传值过来,如果有就是$_POST['radiogroup'],没有的话,就是赋空值

insert语句 就是sql的插入语句 上面我也解释过来 要怎么写

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-06-28
<?php
$hostName = 'yourhost';
$userName = 'yourusername';
$passWords = 'yourpwd';

$conn = mysql_conn($hostName,$userName,$passWords);
if(!$conn){
die('Could not connect: ' . mysql_error());
}
$mysql_select_db('admin',$conn);
$sql="INSERT INTO user_zy (username, name, time,place,type,http,password)
VALUES
('$_POST[username]','$_POST[name]','$_POST[time]','$_POST[place]','$_POST[type]',
'$_POST[http]','$_POST[password]')";

mysql_query($sql,$conn); //这里是添加数据。

//读取数据
$sql = "select * form user_zy where 1"; //读取所有。
$sql = "select * form user_zy where id=".$id; //读取某一项。
$result = mysql_query($sql,$conn);
while($info = mysql_fetch_array($result)){
$arr[] = $info; //$arr 为最后所要读取的值。
}
可以用var_dump($arr)打印出来看看。
第2个回答  2013-05-18
扣字很累啊,求采纳。
<?php
if(isset($_POST['submit'])){
mysql_connect("主机","帐号","密码");//连接数据库。主机一般是localhost,不行你就用IP,有端口就加上端口
mysql_select_db("某个数据库"); //选择你要操作的表所在的数据库
mysql_query("set names utf8");//设置字符集,这里用utf8举例,记得所有的字符集都有一致。

$radiogroup=$_POST['radiogroup'];//接受post传过来的值
mysql_query("insert into `表名`(`radiogroup`) values('$radiogroup')");//将值插入数据库
if(mysql_affected_rows()>0){
echo "执行成功";
}else{
echo "执行失败";
}}
第3个回答  2013-05-17
1那么你就做这个文件diaocha.php,来把表单内的数据输入到数据库。
2.这个文件的编写思路
链接数据库

打开数据库
获取表单数据
将表单数据写入数据库
关闭数据库
完成制作。
具体代码网上有好多。我只是给你提供一个思路
第4个回答  2013-05-17
diaocha.php
如下写法:
if(empty($_POST['radiogroup']){
exit("不能为空!");

}else{
mysql_connect("localhost","root","密码");
mysql_select_db("数据库");
$sql="insert into 表名(字段) value(值)";
$ret=mysql_query($sql);
if($ret){
exit('成功');
}else{
exit('失败');

}

}
相似回答