1、創(chuàng)建自動連接數(shù)據(jù)庫的代碼,并生成一些必要的代碼.我們仔細(xì)研究一下數(shù)據(jù)庫的連接函數(shù),會發(fā)現(xiàn)是這樣的一行代碼。
$link_id=@mysql_connect($hostname,$username,$password);
所以我們在in " /> 农村少妇一区二区三区四区五区,9999在线精品视频,欧美日韩国产成人高清视频

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP與MySQL交互使用詳解

php與MySQL交互使用詳解
1、創(chuàng)建自動連接數(shù)據(jù)庫的代碼,并生成一些必要的代碼.我們仔細(xì)研究一下數(shù)據(jù)庫的連接函數(shù),會發(fā)現(xiàn)是這樣的一行代碼。
$link_id=@mysql_connect($hostname,$username,$password);
所以我們在include文件connect.inc中添加以下代碼就可以了。connect.inc<?php$hostname='localhost';
$username='phpstar';$password='phpstar';$dbname='script';
$tablename='php_script';$link_id=mysql_connect($hostname,$username,$password);
if (! $link_id){ echo '<html><head><title>Error</title></head><body>';
echo 'Connection to php has failed.';echo '</body></html>';exit(); }?>
把這個(gè)程序加入到每個(gè)php腳本中,這樣當(dāng)腳本運(yùn)行時(shí)就建立了數(shù)據(jù)庫連接。因?yàn)槲覀兊某绦蚓哂薪换バ?我們要處理用戶輸入的信息,所以在該文件中還應(yīng)該加入以下代碼.
<?php//接著上面的代碼//加入一個(gè)處理輸入信息的代碼,并生成一個(gè)數(shù)組備用$arr_request=array();/*定義數(shù)組*/
if (count($HTTP_GET_VARS)) /*如果用戶信息以GET方式輸入,則讀數(shù)據(jù)*/
{ while (list($key, $value) = each ($HTTP_GET_VARS)) /*函數(shù)list()與each()配合處理輸入數(shù)據(jù)*/
{ $arr_request[strtolower($key)] = $value; } }
/*函數(shù)strtolower()將起區(qū)分作用的key字串轉(zhuǎn)為小寫,這樣對后面的編程有好處,并把他們組成數(shù)組*/
if (count($HTTP_POST_VARS)) /*用戶信息以POST方式輸入*/
{ while (list($key, $value) = each ($HTTP_POST_VARS))
{ $arr_request[strtolower($key)] = $value; } } //我們還要定義每次輸出的HTML
function html_header($title){ echo '<html><head><title>';echo "$title";
echo '</title></head><body bgcolor="#CCCCCC">'; }function html_footer()
{ global $link_id;@mysql_close($link_id);echo '</body></html>';}//還有一個(gè)出錯(cuò)信息處理
function html_error_exit($msg){ $errno = mysql_errno(); /*得到錯(cuò)誤信息代碼*/
$error = mysql_error(); /*得到錯(cuò)誤信息,兩者一起起排錯(cuò)作用*/
echo '<html><head><title>Error</title></head><body>';echo $msg;
echo "<br>Error: ($errno) $error<br>";echo '</body></html>';exit(); }?>
好了!我們把一些常用的代碼放在了這里,用起來就方便了2、 創(chuàng)建數(shù)據(jù)庫表這有兩種方法:在DOS環(huán)境下輸入命令,但容易出錯(cuò)哦.
利用程序,就算出錯(cuò),修改起來也容易.我們用程序來創(chuàng)建數(shù)據(jù)表.因?yàn)槲覀兊某绦蛞衅毡樾?所以表中的字段并不重要,這里我們只是簡單的創(chuàng)建一個(gè).該表具有以下管理字段:
key_script 這是一個(gè)有自動增量的字段,它保證表中的紀(jì)錄都是獨(dú)一無二的.date_created 這是一個(gè)日期字段,儲存該紀(jì)錄創(chuàng)建的時(shí)間
data_updated 這也是日期字段,儲存該紀(jì)錄最后一次更新的時(shí)間
flag_deleted 儲存該紀(jì)錄是否被刪除,"Y":該紀(jì)錄已被刪除,"N":該紀(jì)錄沒刪除,可使用具有以下儲存信息的字段.script_name 程序名稱
script_size 程序字節(jié)數(shù)script_describe 程序的簡單說明author_name 程序作者名author_email 程序作者的email
author_homepage 程序作者的主頁下面建立該程序:createTable.php<?phprequire('connect.inc');
$str_sql="create table php_script(
key_script int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
date_created datetime DEFAULT '0000-00-00 00:00:00',
date_updated datetime DEFAULT '0000-00-00 00:00:00',
flag_deleted enum('Y','N') DEFAULT 'N' NOT NULL,
script_name VARCHAR(20) NOT NULL,script_size VARCHAR(10) NOT NULL,
script_describe VARCHAR(200) NOT NULL,author_name VARCHAR(20) NOT NULL,
author_email VARCHAR(20) NOT NULL,author_homepage VARCHAR(30) NOT NULL,
primary key (key_script))";$result=mysql_db_query($dbname,$str_sql,$link_id);
if ($result){echo"ok! Table $tablename has been created!";}else{echo"Failed!";}
?>OK! 我們的表建好了!3、生成插入紀(jì)錄代碼程序。似乎我們應(yīng)該先把紀(jì)錄顯示出來,然后才插入紀(jì)錄,但因?yàn)槲覀冞€沒有紀(jì)錄,所以把這一步提到前面來。
首先、創(chuàng)建一個(gè)HTML表單,以便用戶輸入相關(guān)信息。其次、創(chuàng)建能插入表單信息的MySQL代碼。好! 我們開始,表單樣式如下:程序名:文件大小:程序描述:作者名:
作者郵件地址:作者的主頁:能插入表單信息的MySQL代碼如下:script_insert_action.php<?php
require('connect.inc');if($arr_request['action']=='insert'){
$current_date=date('Y-m-d H:i:s');/*把當(dāng)前時(shí)間按YYYY-MM-DD HH:MM:SS方式排列*/
/*下面要?jiǎng)討B(tài)生成SQL代碼,其中我們定義的自動增量的字段由MySQL自己產(chǎn)生*/
/*另外flag_deleted字段的卻省值是"N",所以這兩項(xiàng)都不需要我們在這里特別提出來*/
/*大家都知道:php嚴(yán)格區(qū)分單引號(')、雙引號(")的作用。而我們的作者名等在數(shù)組內(nèi)*/
/*我們要這樣引用數(shù)組:$arr_request['author_name'],注意這里有單引號(')*/
/*而我們在輸入insert語句的值時(shí)應(yīng)該這樣:VALUES('$current_date') */
/*如果我們不去處理這些分號,就會出現(xiàn)這種情況:VALUES('$arr_request['author_name']') */
/*這種情況php能處理好嗎?當(dāng)然不能,所以我們的想方法來處理它*//*這里,我們用下面這種技術(shù)來避免這個(gè)問題;當(dāng)然這里還有其它的方法。您先想想吧!*/
$script_name=$arr_request['script_name'];
$script_size=$arr_request['script_size'];
$script_describe=$arr_request['script_describe'];
$author_name=$arr_request['author_name'];
$author_email=$arr_request['author_email'];
$author_homepage=$arr_request['author_homepage'];/*這樣一替換,處理時(shí)就好多了*/
$str_sql="insert into $tablename(date_created,date_updated,script_name,
script_size,script_describe,author_name,author_email,author_homepage)VALUES(
'$current_date','$current_date','$script_name','$script_size',
'$script_describe','$author_name','$author_email','$author_homepage')";
$result=mysql_db_query($dbname,$str_sql,$link_id);/* 下面給用戶簡單的信息反饋 */
if (!$result){html_error_exit('MySQL插入命令失敗!');}else(html_header('成功');
echo"<center> ";echo('MySQL插入命令成功');echo"<br> ";echo"html_footer();)?>
OK! 插入紀(jì)錄功能完成!

php技術(shù)PHP與MySQL交互使用詳解,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 隆尧县| 莱西市| 临安市| 高尔夫| 含山县| 固镇县| 湘西| 郑州市| 凉山| 天门市| 孟连| 鹰潭市| 浏阳市| 五峰| 彩票| 西藏| 师宗县| 绥阳县| 周宁县| 眉山市| 林甸县| 兴城市| 三台县| 浏阳市| 大同市| 龙里县| 霍邱县| 樟树市| 玉门市| 延庆县| 四子王旗| 宁明县| 黄龙县| 西乡县| 德令哈市| 淮安市| 乌拉特前旗| 嘉定区| 穆棱市| 乌海市| 肃南|