<?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";的問題?
為什么都讀不到取值?。?/h1>
2 回答

幕布斯7119047
TA貢獻1794條經驗 獲得超8個贊
首先,你要搞清楚,mysql不會執(zhí)行任何頁面提交過來的任何值;
其次,按你貼的代碼的意思,php會解析你頁提交過來的值,生成sql 語句;
再次,你的代碼書寫的令人相當難受,亂縮進,毫無層次感;
再次,請確定你的頁面的提交方式,到底是 GET,還是 POST,如果不確定,請直接用 REQUEST,一會 GET,一會 POST ,真是別扭啊;
最后,請你在""
里面寫復雜變量時,記得加上{},如{$POST['post']}
補充:
確認一下你頁面提交過來的參數(shù)是否是post
你可以在貼出的這個代碼的頁面打印出頁面提交過來的所有值,在開頭部份添加以下代碼:echo <xmp>;
var_dump($_REQUEST);
echo </xmp>;

慕蓋茨4494581
TA貢獻1850條經驗 獲得超11個贊
把sql中的$_GET[post]
改成{$_GET['post']}
另外,你得加強下編碼習慣的培養(yǎng),這段代碼的縮進讓人看著抓狂,還有這句echo "<meta http-equiv=refresh content=0";
輸出的html居然沒有用>
閉合,屬性也沒有用雙引號。
- 2 回答
- 0 關注
- 140 瀏覽
添加回答
舉報
0/150
提交
取消