为什么都读不到取值啊?

<?php
	include("../conn.php");	if ($_GET[post])
	{		$sql = "SELECT * FROM message  WHERE id = $_GET[post]";		$query = mysql_query($sql);		$row = mysql_fetch_array($query);
	}	if($_POST['submit'])
		{			$sql = "insert into reply (id,id_p,time,content) values('','$_GET[post]',now(),'$_POST[content]')";				mysql_query($sql);				echo "<meta http-equiv=refresh content=0";
			}?>


$sql = "insert into reply (id,id_p,time,content) values('','$_GET[post]',now(),'$_POST[content]')";

中,id_p的值一直是0,其余的取值都正常,不知道为什么
.$_GET[post]是有值的,在这段代码上方和下方都能用,但是就在这个SQL语句当中不能用...

想了很多办法,比如在代码前面加上$a = $_GET[post],用$row[id](message表中的id其实就是$_GET[post]的值),都不读不到取值;

难道是

echo "<meta http-equiv=refresh content=0";

的问题?

http://img1.mukewang.com/642fd31c000151d711880186.jpg

慕丝7291255
浏览 105回答 2
2回答

幕布斯7119047

首先,你要搞清楚,mysql不会执行任何页面提交过来的任何值;其次,按你贴的代码的意思,php会解析你页提交过来的值,生成sql 语句;再次,你的代码书写的令人相当难受,乱缩进,毫无层次感;再次,请确定你的页面的提交方式,到底是 GET,还是 POST,如果不确定,请直接用 REQUEST,一会 GET,一会 POST ,真是别扭啊;最后,请你在""里面写复杂变量时,记得加上{},如{$POST['post']}补充:确认一下你页面提交过来的参数是否是post你可以在贴出的这个代码的页面打印出页面提交过来的所有值,在开头部份添加以下代码:echo <xmp>;var_dump($_REQUEST);echo </xmp>;

慕盖茨4494581

把sql中的$_GET[post]改成{$_GET['post']}另外,你得加强下编码习惯的培养,这段代码的缩进让人看着抓狂,还有这句echo "<meta http-equiv=refresh content=0";输出的html居然没有用>闭合,属性也没有用双引号。
打开App,查看更多内容
随时随地看视频慕课网APP