此函数从用户获取日期:
function getCCGraduationDate () {
?>
<form method="post" action="processor.php">
Graduation Date: <input type="text" name="CCgraduationdate"><br>
<input type="submit">
<?php
}
此函数将值发送到DB,并在processor.php页面上调用:
function sendCCGraduationDate () {
$con = mysql_connect("localhost","root","XXXXXX");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("user", $con);
$grad = mysql_real_escape_string($_POST['CCGraduationDate'], $con);
$sql = "UPDATE profile SET CommunityCollegeGraduationDate='$grad' WHERE userid=$this->user_id";
mysql_query( $sql , $con );
mysql_close($con);
}
由于某种原因,该值未在数据库中填充。我昨晚测试了类似的功能,他们工作,不知道我在这里缺少什么。
答案 0 :(得分:1)
假设$this->user_id
有一个实际值:
$sql = "UPDATE profile SET CommunityCollegeGraduationDate='$grad' WHERE userid=$this->user_id";
// Should be:
$sql = "UPDATE profile SET CommunityCollegeGraduationDate='$grad' WHERE userid={$this->user_id}";
// Or
$sql = "UPDATE profile SET CommunityCollegeGraduationDate='$grad' WHERE userid= " . $this->user_id;
- 编辑 -
$sql = "UPDATE profile SET CommunityCollegeGraduationDate='$grad' WHERE userid= " . $this->user_id;
if (!mysql_query( $sql , $con ))
die(mysql_error());
}
- 编辑 -
// To avoid case and extra space issues, sanitize your var first
$grad = trim(strtolower($grad));
// You did well to escape
$grad = mysql_real_escape_string($grad, $con);
答案 1 :(得分:1)
请检查:
表格代码:
<input type="text" name="CCgraduationdate"><br>
PHP代码:
$grad = mysql_real_escape_string($_POST['CCGraduationDate'], $con);
您的表单中的CCgraduationdate
在您的php代码中不等于CCGraduationDate
如果您没有收到如下错误:
Notice: Undefined index: CCGraduationDate /* blah blah blah */
然后您可以尝试在PHP代码的顶部添加:
error_reporting(E_ALL);
然后看看是否出现错误。
当然,这是在将$sql
变量的数据更改为:
$sql = "UPDATE profile SET CommunityCollegeGraduationDate='$grad' WHERE userid=" . $this->user_id;