重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
PHP獲取POST數據的幾種方法:
10年積累的成都網站設計、網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有圍場免費網站建設讓你可以放心的選擇與我們合作。
方法1、最常見的方法是:$_POST['fieldname'];
說明:只能接收Content-Type: application/x-www-form-urlencoded提交的數據。
方法2、file_get_contents("php://input");
說明:
允許讀取 POST 的原始數據。
和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,并且不需要任何特殊的 php.ini 設置。
php://input 不能用于 enctype="multipart/form-data"。
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
說明:
總是產生 $HTTP_RAW_POST_DATA 變量包含有原始的 POST 數據。
此變量僅在碰到未識別 MIME 類型的數據時產生。
先配置數據庫------連接數據庫--------選擇數據庫--------填寫檢索表-------輸出檢索內容
第一種解決方法:
一、配置一下數據庫:
define("DB_HOST","localhost");//數據庫地址,一般為localhost
define("DB_USER","root");//數據庫用戶名
define("DB_PSW","");//數據庫密碼
define("DB_DB","databasename");//需要操作的數據庫
二、連接數據庫:
$conn = mysql_connect(DB_HOST,DB_USER,DB_PSW) or die
三、選擇數據庫:
mysql_select_db(DB_DB,$conn) or die
四、檢索表:(填寫tablename)
$result = mysql_query("select * from tablename") or die
五、輸出檢索的內容:
while ($row = mysql_fetch_row($result)){foreach($row as $data){ ? ?echo $data.' ';} ? ?echo 'br。
連接到一個?url?地址為localhost?、?端口為?3306?的mysql服務器上。mysql服務器的帳號是"root",密碼是"9999"。mysql?服務器上有一個數據庫?ok?,?數據庫里有一個表?abc。表?abc?一共為兩列,列名分別是?"id"?和?"name"?,將?abc?里的所有數據讀出來。
??
$dbh?=?@mysql_connect("localhost:3306","root","9999");?
/*?定義變量dbh?,?mysql_connect()函數的意思是連接mysql數據庫,?"@"的意思是屏蔽報錯?*/?
if(!$dbh){die("error");}?
/*?die()函數的意思是將括號里的字串送到瀏覽器并中斷PHP程式?(Script)。括號里的參數為欲送出的字串。?*/?
@mysql_select_db("ok",?$dbh);?
/*?選擇mysql服務器里的一個數據庫,這里選的數據庫名為?ok?*/?
$q?=?"SELECT?*?FROM?abc";?
/*?定義變量q,?"SELECT?*?FROM?abc"是一個SQL語句,意思是讀取表abc中的數據?*/?
??
br?/?
!--=========?方法一?=========--?
br?/?
??
$rs?=?mysql_query($q,?$dbh);?
/*?定義變量?rs?,函數mysql_query()的意思是:送出?query?字串供?MySQL?做相關的處理或者執行.由于php是從右往左執行的,所以,rs的值是服務器運行mysql_query()函數后返回的值?*/?
if(!$rs){die("Valid?result!");}?
echo?"table";?
echo?"trtdID/tdtdName/td/tr";?
while($row?=?mysql_fetch_row($rs))?echo?"trtd$row[0]/tdtd$row[1]/td/tr";?
/*?定義量變(數組)row,并利用while循環,把數據一一寫出來.??
函數mysql_fetch_row()的意思是:將查詢結果$rs單列拆到陣列變數中.??
$row[0]?和?$row[1]?的位置可以換*/?
echo?"/table";?
??
br?/?
!--=========?方法二?=========--?
br?/?
??
$rs?=?mysql_query($q,?$dbh);?
while($row?=?mysql_fetch_object($rs))?echo?"$row-id?$row-name?br?/";?
/*?id和name可以換位置?*/?
??
br?/?
!--=========?方法三?=========--?
br?/?
??
$rs?=?mysql_query($q,?$dbh);?
while($row?=?mysql_fetch_array($rs))?echo?"$row[id]?$row[name]?br?/";?
/*?id和name可以換位置?*/?
??
!--=========?方法三最快?=========--?
??
@mysql_close($dbh);?
/*?關閉到mysql數據庫的連接?*/?
?
修改一下你的程序,把下面這三行:
for($i=0;$imysql_num_fields($result);$i++)
{
echo "$row[$i]";
}
修改為:
for($i=0;$imysql_num_fields($result);$i++)
{
echo "$i = $row[$i]br";
}
你就知道是什么原因了。
或者下面這樣:
echo "pre";
print_r($row);
echo "/pre";