我不知道为什么,但是当我有不同的查询时,下面的代码正常工作:
$result = mysql_query("SELECT * FROM student WHERE IDNO='".$_GET['id']."'")
?>
<?php while ( $row = mysql_fetch_array($result) ) {
?>
<?php list($year,$month,$day)=explode("-", $row['BIRTHDAY']); ?>
<tr>
<td width="30" height="35"><font size="2">Month:</td>
<td width="30"><input name="mm" type="text" id="mm" onkeypress="return handleEnter(this, event)" value="<?php echo $month;?>">
<td width="30" height="35"><font size="2">Day:</td>
<td width="30"><input name="dd" type="text" id="dd" maxlength="25" onkeypress="return handleEnter(this, event)" value="<?php echo $day;?>">
<td width="30" height="35"><font size="2">Year:</td>
<td width="30"><input name="yyyy" type="text" id="yyyy" maxlength="25" onkeypress="return handleEnter(this, event)" value="<?php echo $year;?>">
当这是我的查询时它会起作用:
$idnum = mysql_real_escape_string($_POST['idnum']);
mysql_select_db("school", $con);
$result = mysql_query("SELECT * FROM student WHERE IDNO='$idnum'");
请帮忙,为什么我在使用此查询时会收到未定义的偏移量错误:
$result = mysql_query("SELECT * FROM student WHERE IDNO='".$_GET['id']."'")
我认为查询是问题,因为它是两者之间唯一不同的东西。
答案 0 :(得分:2)
你错过了一个分号;
:
$result = mysql_query("SELECT * FROM student WHERE IDNO='".$_GET['id']."'") ;?>
还要确保您获得了身份证明:
var_dump($_GET);
它名为id
或其他名称。
你可能会这样:
if ($_GET['id'])
{
// your further code.......
}
根据评论进行更新
确保日期正常,请尝试:
print_r($row['BIRTHDAY']);
并查看是否所有内容都已出现或是空的。
答案 1 :(得分:0)
您是否显示所有错误?
检查$ _GET数组中是否存在名为“id”的索引。
答案 2 :(得分:0)
是否定义了$_GET['id']
?在您认为有效的第一个查询中,您使用的是$_POST['idnum']
,这是一种不同的请求方法和不同的密钥。未定义的偏移量是一个非致命错误/警告,告诉您数组中不存在该键。解决此问题的一种简单方法是更改PHP错误报告,但在这种情况下,您需要确定实际需要使用的变量。