我正在尝试将$ teacherId插入数据库中的'TeacherId'字段,但为此需要查找教师的用户名'TeacherUsername',以便能够找到与教师用户名匹配的正确TeacherId。
问题是我收到通知说明: 注意:未定义的索引:第27行/Mobile_app/QandATable2.php中的teacherusername,位于:
$teacherid = "SELECT TeacherId FROM (SELECT TeacherUsername from Teacher where TeacherUsername = '".mysql_real_escape_string($_POST['teacherusername'])."')";
为什么它给了我这个通知,因为$ _POST方法没有任何问题,它在底部工作:
<?php echo $_POST['teacherusername']); ?>
以下是完整代码:
<?php>
session_start();
$username="xxx";
$password="xxx";
$database="mobile_app";
mysql_connect('localhost',$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$teacherid = "SELECT TeacherId FROM (SELECT TeacherUsername from Teacher where TeacherUsername = '".mysql_real_escape_string($_POST['teacherusername'])."')";
$sql="INSERT INTO Session (TeacherId)
VALUES
(' ". mysql_real_escape_string( $teacherid ) . "')";
mysql_query($sql);
mysql_close();
?>
<?php echo $_POST['teacherusername']); ?>
答案 0 :(得分:1)
如果此脚本仅在发生POST时运行,并且您确信应该设置teacherusername,那么您可能需要var_dump($ _ POST)并仔细检查表单是否正在传递teacherusername字段。
否则,如果字段应该是可选字段,请尝试:
<?php
if (isset($_POST) && isset($_POST['teacherusername'])) {
echo $_POST['teacherusername'];
}
?>
这将只回显帖子索引是设置的帖子,所以是有问题的字段。你甚至可以添加一个else来正确处理错误。如发回“此字段是必填的”消息。
希望这有帮助,
ISE