PHP读取数据库数据问题急急急@@!!!

代码如下,执行后 文本框内显示未定义的变量,该如何改

<?php

$id = $_GET["d"];

$conn = mysql_connect("localhost","root","");
mysql_select_db("news",$conn);

mysql_query("set names gbk");

$ContentEditSql = "SELECT contentTitle,classId,contentTime,contentInfo,contentId FROM newsContent WHERE ContentId = ".$id;
$ContentEditResult = mysql_query($ContentEditSql);

if($ContentEditResult){
$ContentEditRows = mysql_fetch_array($ContentEditResult);
$contentTitle=$ContentEditRows["contentTitle"];
$classId=$ContentEditRows["classId"];
$contentTime=$ContentEditRows["contentTime"];
$contentInfo=$ContentEditRows["contentInfo"];
}else{
echo "<script>alert('错误的数据');javascript:history.back(1)</script>";
}

mysql_close();

?>
<form method="post" action="newseditok.php">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="16%">新闻标题:</td>
<td width="80%"><input name="contentTitle" type="text" id="contentTitle" value="<?php echo $contentTitle?>" /></td>
<td width="4%"> </td>
</tr>

<tr>
<td>所属类型:</td>
<td><input name="classId" type="text" id="classId" value="<?php echo $classId?>" /></td>
<td> </td>
</tr>
<tr>
<td>发布时间:</td>
<td><input name="contentTime" type="text" id="contentTime" value="<?php echo $contentTime?>" /></td>
<td> </td>
</tr>
<tr>
<td>新闻内容:</td>
<td><textarea name="contentInfo" id="contentInfo"><?php echo $contentInfo?></textarea></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="提交" />
<input name="contentid" type="hidden" id="contentid" value="<?php echo $id?>" /></td>
<td> </td>
</tr>
</table>

</form>
这是我的另个页面,是没有问题的,两个页面的功能都是显示数据库的数据到文本框,然后修改数据后更新
<?php
$id = $_GET["d"];
$conn = mysql_connect("localhost","root","");
mysql_select_db("news",$conn);
mysql_query("set names gbk");
$classEditSql = "SELECT * FROM newsclass WHERE classid = ".$id;
$classEditResult = mysql_query($classEditSql);
if($classEditResult){
$classEditRews = mysql_fetch_array($classEditResult);
$className = $classEditRews[1];
}else{
echo "<script>alert('错误的数据');javascript:history.back(1)</script>";
}
mysql_close();
?>
<form method="post" action="classeditok.php">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="16%">分类名称:</td>
<td width="80%"><input name="classname" type="text" id="classname" value="<?php echo $className?>" /></td>

是这句:$ContentEditSql = "SELECT contentTitle,classId,contentTime,contentInfo,contentId FROM newsContent WHERE ContentId = ".$id;
当id为空时没有考虑到。
可以改为:$ContentEditSql = "SELECT contentTitle,classId,contentTime,contentInfo,contentId FROM newsContent WHERE ContentId = '$id'";
注意$id是在两个单引号内的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-09
试下把 $id = $_GET["d"]; 改成这样
if (isset($_GET["d"])) {
$id = $_GET["d"];
}else{
$id = '';
}追问

不好意思,前面没说清楚是4个文本框的变量提示出错

追答

if (isset($_GET["d"])) {
$id = $_GET["d"];
}else{
$id = '';
}
$contentTitle='';
$classId='';
$contentTime='';
$contentInfo='';

追问

还是不行诶,我这个页面的功能就是显示数据库的数据到文本框,然后用户修改后点击提交,修改数据的代码在另个页面执行

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网