<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
require_once '../config/user.class.php'; $conn = new tmsAccess(); if (!$conn->is_loaded()) {
echo"您尚未登录,请<a href=\"login.php\">点此登录</a>";
exit;
} else {
$bb = $conn->student_num;
$cc = $conn->student_name;
$dd = $conn->student_email;
$ee = $conn->student_profession;
$ff = $conn->student_grade;
$gg = $conn->student_class; $pp = "2343545"; //这里要取得浏览器传递的变量,获得课程编号和课程名称,但是为什么这个变量能插入数字的而不能插入字符的呢? echo $bb . "<br />";
echo $cc . "<br />";
echo $dd . "<br />";
echo $ee . "<br />";
echo $ff . "<br />";
echo $gg;
echo $course_num;
//处理提交表单 if ($_POST['submit']) {
$sql = "insert into tms_stat (id, course_num, stat_value1, stat_value2, stat_value3, stat_value4, student_num, stat_date) values('','$pp','$_POST[stat_value1]','$_POST[stat_value2]','$_POST[stat_value3]','$_POST[stat_value4]',$bb,now())";
mysql_query($sql);
echo"数据插入成功";
}
}
?>
<form action="vote.php" method="post">
<table border="1">
<tbody> <tr>
<td>是否有教师风范</td>
<td><select name="stat_value1">
<option value="5">5</option>
<option value="10">10</option>
</select></td>
</tr>
<tr>
<td>是否有教师风范</td>
<td><select name="stat_value2">
<option value="5">5</option>
<option value="10">10</option>
</select></td>
</tr>
<tr>
<td>上课水平</td>
<td><select name="stat_value3">
<option value="5">5</option>
<option value="10">10</option>
</select></td>
</tr>
<tr>
<td>与学生融洽度</td>
<td><select name="stat_value4">
<option value="5">5</option>
<option value="10">10</option>
</select></td>
</tr> <tr>
<td><input type="submit" value="提交" name="submit" /></td>
<td><input type="reset" value="取消" name="cancel" /></td>
</tr>
</tbody>
</table> </form>
</body>
</html>上面是我的源码,重点是 $sql = "insert into tms_stat (id, course_num, stat_value1, stat_value2, stat_value3, stat_value4, student_num, stat_date) values('','$pp','$_POST[stat_value1]','$_POST[stat_value2]','$_POST[stat_value3]','$_POST[stat_value4]',$bb,now())";
mysql_query($sql);
为什么$bb和$pp变量是数字就可以正常插入mysql,而含有字符就不能插入数据呢?给出我的mysql数据表 字段 类型 整理 属性 空 默认 额外 操作
id int(9) 否 无 AUTO_INCREMENT
course_num varchar(50) utf8_general_ci 否
stat_value1 int(2) 否
stat_value2 int(2) 否
stat_value3 int(2) 否
stat_value4 int(2) 否
student_num int(12) 否
stat_date date 否
求达人解答!
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
require_once '../config/user.class.php'; $conn = new tmsAccess(); if (!$conn->is_loaded()) {
echo"您尚未登录,请<a href=\"login.php\">点此登录</a>";
exit;
} else {
$bb = $conn->student_num;
$cc = $conn->student_name;
$dd = $conn->student_email;
$ee = $conn->student_profession;
$ff = $conn->student_grade;
$gg = $conn->student_class; $pp = "2343545"; //这里要取得浏览器传递的变量,获得课程编号和课程名称,但是为什么这个变量能插入数字的而不能插入字符的呢? echo $bb . "<br />";
echo $cc . "<br />";
echo $dd . "<br />";
echo $ee . "<br />";
echo $ff . "<br />";
echo $gg;
echo $course_num;
//处理提交表单 if ($_POST['submit']) {
$sql = "insert into tms_stat (id, course_num, stat_value1, stat_value2, stat_value3, stat_value4, student_num, stat_date) values('','$pp','$_POST[stat_value1]','$_POST[stat_value2]','$_POST[stat_value3]','$_POST[stat_value4]',$bb,now())";
mysql_query($sql);
echo"数据插入成功";
}
}
?>
<form action="vote.php" method="post">
<table border="1">
<tbody> <tr>
<td>是否有教师风范</td>
<td><select name="stat_value1">
<option value="5">5</option>
<option value="10">10</option>
</select></td>
</tr>
<tr>
<td>是否有教师风范</td>
<td><select name="stat_value2">
<option value="5">5</option>
<option value="10">10</option>
</select></td>
</tr>
<tr>
<td>上课水平</td>
<td><select name="stat_value3">
<option value="5">5</option>
<option value="10">10</option>
</select></td>
</tr>
<tr>
<td>与学生融洽度</td>
<td><select name="stat_value4">
<option value="5">5</option>
<option value="10">10</option>
</select></td>
</tr> <tr>
<td><input type="submit" value="提交" name="submit" /></td>
<td><input type="reset" value="取消" name="cancel" /></td>
</tr>
</tbody>
</table> </form>
</body>
</html>上面是我的源码,重点是 $sql = "insert into tms_stat (id, course_num, stat_value1, stat_value2, stat_value3, stat_value4, student_num, stat_date) values('','$pp','$_POST[stat_value1]','$_POST[stat_value2]','$_POST[stat_value3]','$_POST[stat_value4]',$bb,now())";
mysql_query($sql);
为什么$bb和$pp变量是数字就可以正常插入mysql,而含有字符就不能插入数据呢?给出我的mysql数据表 字段 类型 整理 属性 空 默认 额外 操作
id int(9) 否 无 AUTO_INCREMENT
course_num varchar(50) utf8_general_ci 否
stat_value1 int(2) 否
stat_value2 int(2) 否
stat_value3 int(2) 否
stat_value4 int(2) 否
student_num int(12) 否
stat_date date 否
求达人解答!
解决方案 »
- 用open-flash-chart作报表时遇到一个问题
- 用OPENOFFICE转换文件格式的问题
- 函数调用 循环 问题 求教
- 关于php 和apache 安装的问题! 我都装崩溃了 那个哥哥姐姐帮下忙!!
- PHP 与 SQL SERVER 2005连接问题
- 配置php+apache2.2 时出错了 求大神
- 求一正则.匹配超级连接的.
- php连接mysql出现了问题,帮忙解决一下.谢谢
- win2000 ser+php4.2+apache2.3.8+oracle9.0 ,php连远端oracle的连接语句怎么写?
- 请大家帮忙参考参考:)
- 网站用cookie设置登录状态。安全吗 ?
- 想请教个关于register_shutdown_function的问题
在一楼下侧列出啊course_num varchar(50) utf8_general_ci 否
可能是在什么地方有判断限制吧!你的代码中
$pp = "2343545";
应该是能插入的吧!?
上面是字符串型的,所以如果没有判断是否是数字型的话,就能插入字符串!你再仔细看遍代码!
values()中的$bb用单引号包起来试下,带字符行不!
你试下 $sql = "insert into tms_stat (id, course_num, stat_value1, stat_value2, stat_value3, stat_value4, student_num, stat_date) values('','$pp','$_POST[stat_value1]','$_POST[stat_value2]','$_POST[stat_value3]','$_POST[stat_value4]',$bb,now())";
echo "SQL:".$sql;
mysql_query($sql);
这个$bb获取了学生学号,这个没问题都是数字,问题出现在$pp上
$bb没问题啊,学号设置的都是数字 $pp有问题啊,哭死不知道哪里出了问题