向多个表填入相同字段的记录求指导
$username = $_POST['username'];
$password = $_POST['psd'];
$sex = $_POST['sex'];
$grade = $_POST['grade'];
$age = $_POST['age'];
$height=$_POST['height'];
$weight=$_POST['weight'];
//检查表单数据
if(!preg_match('/^[\w\x80-\xff]{3,15}$/', $username)){
exit('错误:用户名不符合要求!back');
}
if(strlen($password) exit('错误:密码长度不符合要求!back');
}
include('conn.php');
$sql = "INSERT INTO user(username,password,sex,grade,age,height,weight)VALUES('$username','$password','$sex','$grade','$age','$height','$weight')";
INSERT INTO module1(username)VALUES('$username');
INSERT INTO module2(username)VALUES('$username');
INSERT INTO module3(username)VALUES('$username');
INSERT INTO module4(username)VALUES('$username');
INSERT INTO module5(username)VALUES('$username');
if(mysql_query($sql,$conn))
exit('注册成功!点击此处登入');
else
echo '抱歉,注册错误!:',mysql_error(),'
';
echo '点击此处返回 重试';
?>
回复讨论(解决方案)
测试成功了吗?不成功报什么错误?
今天晚上之前必须要交的作业,
reg.php的开头加上 session_start();
session start 对用户名定义变量我已经在登入页面写了,这样打重可以吗?
在或者是在注册和登入页面分别用两个session变量操作吗?
就在reg.php里面先定义再注销。是这样吗?
在或者是在注册和登入页面分别用两个session变量操作吗?
就在reg.php里面先定义再注销。是这样吗?
刚才不好意思 那个session_start不是你的错误 我是回答别人的帖子的 不小心回答道你这了
echo '抱歉,注册错误!:'.mysql_error().'
'; 你的错误24行 应该是 里面的 逗号改成句号
应该不是这个错误导致的。因为我在插入第2-5个insert into 语句()也就是说只有一个insert 语句是正常的。
哦 我才注意到 你的
$sql .= 'INSERT INTO module1(username)VALUES('$username');'
$sql .= 'INSERT INTO module2(username)VALUES('$username');'
$sql .= 'INSERT INTO module3(username)VALUES('$username');'
$sql .= 'INSERT INTO module4(username)VALUES('$username');'
$sql .= 'INSERT INTO module5(username)VALUES('$username');'
然后用mysqli::multi_query() 支持多语句执行 mysql只能是单语句执行 所以你插5次要执行 5次mysql_query
应该不是这个错误导致的。因为我在插入第2-5个insert into 语句()也就是说只有一个insert 语句是正常的。
谢谢,我去试一下
我不会改,怎么改都错。。。就是if语句那里
你还是去看手册mysqli的用法 还需要php支持mysqli扩展的
不会的话还是老老实实写5次mysql_query吧
$username = $_POST['username'];
$password = $_POST['psd'];
$sex = $_POST['sex'];
$grade = $_POST['grade'];
$age = $_POST['age'];
$height=$_POST['height'];
$weight=$_POST['weight'];
//检查表单数据
if(!preg_match('/^[\w\x80-\xff]{3,15}$/', $username)){
exit('错误:用户名不符合要求!back');
}
if(strlen($password) exit('错误:密码长度不符合要求!back');
}
include('conn.php');
$sql = "INSERT INTO user(username,password,sex,grade,age,height,weight)VALUES('$username','$password','$sex','$grade','$age','$height','$weight')";
$sql1=INSERT INTO module1(username)VALUES('$username');
$sql2=INSERT INTO module2(username)VALUES('$username');
$sql3=INSERT INTO module3(username)VALUES('$username');
$sql4=INSERT INTO module4(username)VALUES('$username');
$sql5=INSERT INTO module5(username)VALUES('$username');
$sql6=INSERT INTO module5(username)VALUES('$username');
$result=mysql_query($sql,$conn);
$result1=mysql_query($sql1,$conn);
$result2=mysql_query($sql2,$conn);
$result3=mysql_query($sql3,$conn);
$result4=mysql_query($sql4,$conn);
$result5=mysql_query($sql5,$conn);
$result6=mysql_query($sql6,$conn);
if($result && $result2 && $result3 &&$result4 && $result5 && $result6)
exit('注册成功!点击此处登入');
else
echo '抱歉,注册错误!:',mysql_error(),'
';
echo '点击此处返回 重试';
?>
$sql1=”INSERT INTO module1(username)VALUES('$username')“; 注意细节 没有银行 分号也是错误的 这些细节都不想说了
你这代码好多细节啊 (是英文的括号 连接符是点号不是逗号 这些都是最最最基本的啊
没有啊,调试过了,可能是粘贴过来就转换成这样了。
anyway,真的谢谢你了。
下一篇: 四:深入Nginx之事件和连接 (之一)