我创建了一个15个问题的表格,答案将通过单选按钮提交。我的代码适用于5个问题但是当我增加数据库中的问题字段数时,不会进行插入。
不同的问题有不同的名称字段,我不能使所有单选按钮的名称相同:(
这是我的代码
<?php
//Start session
session_start();
//Include database connection details
require_once('connection/config.php');
//Array to store validation errors
//$errmsg_arr = array();
//Validation error flag
//$errflag = false;
//Connect to mysql server
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
echo"Not Connected";
die('Failed to connect to server: ' . mysql_error());
}
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
echo "Not Selected";
die("Unable to select database");
}
//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
//Sanitize the POST values
//$ans = clean($_POST['25rboption13']);
//If there are input validations, redirect back to the same form
/*if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: .php");
exit();
}
*/
//Check whether the query was successful or not
/*$ignorefield=array('submit');
$fields=array_intersect($_POST,array_flip($ignorefield));
$values=array();
*/
/* $req1=$_REQUEST['25rboption13'];
$req2=$_REQUEST['129rboption13'];
$req3=$_REQUEST['150rboption13'];
$req4=$_REQUEST['151rboption13'];
$req5=$_REQUEST['152rboption13'];
$req6=$_REQUEST['153rboption13'];
$req7=$_REQUEST['154rboption13'];
$req8=$_REQUEST['592rboption13'];
$req9=$_REQUEST['593rboption13'];
$req10=$_REQUEST['594rboption13'];
$req11=$_REQUEST['595rboption13'];
$req12=$_REQUEST['596rboption13'];
$req13=$_REQUEST['1169rboption13'];
*/
if(isset($_POST['submit'])){
$ans=isset($_POST['25rboption13']);
$ans=isset($_POST['129rboption13']);
$ans=isset($_POST['150rboption13']);
$ans=isset($_POST['151rboption13']);
$ans=isset($_POST['152rboption13']);
$ans=isset($_POST['153rboption13']);
$ans=isset($_POST['154rboption13']);
$ans=isset($_POST['592rboption13']);
$ans=isset($_POST['593rboption13']);
$ans=isset($_POST['594rboption13']);
$ans=isset($_POST['595rboption13']);
$ans=isset($_POST['596rboption13']);
$ans=isset($_POST['1169rboption13']);
//foreach($_POST as $key => $val){
if($ans!=""){
//Create query
$qry="INSERT INTO diseases (q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11,q12,q13) values(' ".$_POST['25rboption13']." ',' ".$_POST['129rboption13']." ',' ".$_POST['150rboption13']." ',' ".$_POST['151rboption13']." ',' ".$_POST['152rboption13']." ',' ".$_POST['153rboption13']." ',' ".$_POST['154rboption13']." ',' ".$_POST['592rboption13']." ',' ".$_POST['593rboption13']." '' ".$_POST['594rboption13']." ',' ".$_POST['595rboption13']." ',' ".$_POST['596rboption13']." ',' ".$_POST['1169rboption13']." ')";
$result=mysql_query($qry);}
//}
echo "data inserted";
//Successful
}else {
die("Query failed");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Form Processing</title>
</head>
<body>
</body>
</html>
//示例表格
<tr>
<td colspan="2" align="left" valign="top"><input name="25rboption13" value="1" type="radio"> <span class="content"> Days</span>
</td>
</tr>
<tr>
<td colspan="2" align="left" valign="top"><input name="25rboption13" value="2" type="radio"> <span class="content"> Weeks</span>
</td>
</tr>
<tr>
<td colspan="2" align="left" valign="top"><input name="25rboption13" value="3" type="radio" > <span class="content">Months</span>
</td>
</tr>
<tr>
<td colspan="2" align="left" valign="top"><input name="25rboption13" value="4" type="radio"> <span class="content"> Years</span>
</td>
</tr>
<tr>
<td colspan="2" align="left" valign="top"><b>Do you have pain/burning in the chest region </b>
</td>
</tr>
<tr>
<td colspan="2" align="left" valign="top"><input name="129rboption13" value="1" type="radio"> <span class="content"> Yes</span>
</td>
</tr>
<tr>
<td colspan="2" align="left" valign="top"><input name="129rboption13" value="2" type="radio"> <span class="content"> No</span>
</td>
</tr>
<tr>
<td colspan="2" align="left" valign="top"><input name="129rboption13" value="3" type="radio"> <span class="content">Occasionally</span>
</td>
</tr>
<tr>
// SQL
diseases
CREATE TABLE `diseases` (
`id` int(11) NOT NULL auto_increment,
`q1` enum('Days','Weeks','Months','Years') collate latin1_general_ci NOT NULL,
`q2` enum('Yes','No','Ocassionally') collate latin1_general_ci NOT NULL,
`q3` enum('Yes','No','Ocassionally') collate latin1_general_ci NOT NULL,
`q4` enum('Yes','No','Ocassionally') collate latin1_general_ci NOT NULL,
`q5` enum('Yes','No','Ocassionally') collate latin1_general_ci NOT NULL,
`q6` enum('Yes','No','Ocassionally') collate latin1_general_ci NOT NULL,
`q7` enum('Yes','No','Ocassionally') collate latin1_general_ci NOT NULL,
`q8` enum('Yes','No','Ocassionally') collate latin1_general_ci NOT NULL,
`q9` enum('After eating food',' When hungry and stomach is empty','Not sure') collate latin1_general_ci NOT NULL,
`q10` enum('After eating food',' After drinking something','No relation to food') collate latin1_general_ci NOT NULL,
`q11` enum('Yes','No','Not sure') collate latin1_general_ci NOT NULL,
`q12` enum('Yes','No') collate latin1_general_ci NOT NULL,
`q13` enum('Yes','No') collate latin1_general_ci NOT NULL,
`name` text collate latin1_general_ci NOT NULL,
`phone_no` int(10) NOT NULL,
`address` text collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
)
答案 0 :(得分:0)
最后,我发现我的答案问题是,如果我替换我的代码mysql_query(查询)...而不是$ result = mysql_query($ qry) 我不知道为什么会这样,但它起作用
答案 1 :(得分:-1)
更改脚本如下: mysql连接:
$conn=mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
然后
$result=mysqli_query($conn,$query);