PHP與MySQL交互使用詳解_PHP教程
Jul 21, 2016 pm 04:06 PM
PHP與MySQL交互使用詳解
1、創(chuàng)建自動連接數(shù)據(jù)庫的代碼,并生成一些必要的代碼.我們仔細研究一下數(shù)據(jù)庫的連接函數(shù),會發(fā)現(xiàn)是這樣的一行代碼。
$link_id=@mysql_connect($hostname,$username,$password);
所以我們在include文件connect.inc中添加以下代碼就可以了。connect.inc$username='phpstar';$password='phpstar';$dbname='script';
$tablename='php_script';$link_id=mysql_connect($hostname,$username,$password);
if (! $link_id){ echo '
echo 'Connection to PHP has failed.';echo '';exit(); }?>
把這個程序加入到每個PHP腳本中,這樣當腳本運行時就建立了數(shù)據(jù)庫連接。因為我們的程序具有交互性,我們要處理用戶輸入的信息,所以在該文件中還應(yīng)該加入以下代碼.
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 '
echo '
{ global $link_id;@mysql_close($link_id);echo '';}//還有一個出錯信息處理
function html_error_exit($msg){ $errno = mysql_errno(); /*得到錯誤信息代碼*/
$error = mysql_error(); /*得到錯誤信息,兩者一起起排錯作用*/
echo '
echo "
Error: ($errno) $error
";echo '';exit(); }?>
好了!我們把一些常用的代碼放在了這里,用起來就方便了2、 創(chuàng)建數(shù)據(jù)庫表這有兩種方法:在DOS環(huán)境下輸入命令,但容易出錯哦.
利用程序,就算出錯,修改起來也容易.我們用程序來創(chuàng)建數(shù)據(jù)表.因為我們的程序要有普遍性,所以表中的字段并不重要,這里我們只是簡單的創(chuàng)建一個.該表具有以下管理字段:
key_script 這是一個有自動增量的字段,它保證表中的紀錄都是獨一無二的.date_created 這是一個日期字段,儲存該紀錄創(chuàng)建的時間
data_updated 這也是日期字段,儲存該紀錄最后一次更新的時間
flag_deleted 儲存該紀錄是否被刪除,"Y":該紀錄已被刪除,"N":該紀錄沒刪除,可使用具有以下儲存信息的字段.script_name 程序名稱
script_size 程序字節(jié)數(shù)script_describe 程序的簡單說明author_name 程序作者名author_email 程序作者的email
author_homepage 程序作者的主頁下面建立該程序:createTable.php$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、生成插入紀錄代碼程序。似乎我們應(yīng)該先把紀錄顯示出來,然后才插入紀錄,但因為我們還沒有紀錄,所以把這一步提到前面來。
首先、創(chuàng)建一個HTML表單,以便用戶輸入相關(guān)信息。其次、創(chuàng)建能插入表單信息的MySQL代碼。好! 我們開始,表單樣式如下:程序名:文件大?。撼绦蛎枋觯鹤髡呙?
作者郵件地址:作者的主頁:能插入表單信息的MySQL代碼如下:script_insert_action.phprequire('connect.inc');if($arr_request['action']=='insert'){
$current_date=date('Y-m-d H:i:s');/*把當前時間按YYYY-MM-DD HH:MM:SS方式排列*/
/*下面要動態(tài)生成SQL代碼,其中我們定義的自動增量的字段由MySQL自己產(chǎn)生*/
/*另外flag_deleted字段的卻省值是"N",所以這兩項都不需要我們在這里特別提出來*/
/*大家都知道:PHP嚴格區(qū)分單引號(')、雙引號(")的作用。而我們的作者名等在數(shù)組內(nèi)*/
/*我們要這樣引用數(shù)組:$arr_request['author_name'],注意這里有單引號(')*/
/*而我們在輸入insert語句的值時應(yīng)該這樣:VALUES('$current_date') */
/*如果我們不去處理這些分號,就會出現(xiàn)這種情況:VALUES('$arr_request['author_name']') */
/*這種情況PHP能處理好嗎?當然不能,所以我們的想方法來處理它*//*這里,我們用下面這種技術(shù)來避免這個問題;當然這里還有其它的方法。您先想想吧!*/
$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'];/*這樣一替換,處理時就好多了*/
$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"
";echo"html_footer();)?>
OK! 插入紀錄功能完成!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

N 1 ?? ??? ??? ?? ???? ?????? ?????? ?? ?? ????. 2. ???? ???? ???? ?? ??? ???????? ??? ??? ?? ? ??????. 3. ??? 2 ? ?? ?? Redis ?? ??? ?? ??? ?? ?? ??? ????? ??????. 4. ??? ????? ????? ????? Clear ()? ???? ???? ?????? ??? ????? ?????. 5. ?????? ??? ????? ???? ???? ? ??? ??? ?? ?? ? SQL ?? ??????. 6. ?? ??? ???? ?? ?????? ?? ?? ??? ?????? ?? ?? ?? ??? ???? ??? ??????. ORM? ???? ????? ?? ??? ????? ?? ???? ??? ???? ?? SQL ????, ??, ?? ?? ? ??? ???? ???????.

settings.json ??? ??? ?? ?? ?? ?? ?? ??? ??? VSCODE ??? ??? ???? ? ?????. 1. ??? ?? ?? : Windows? C : \ Users \\ AppData \ Roaming \ Code \ User \ Settings.json, MacOS IS /users//library/applicationsupport/code/user/settings.json, linux? /home//.config/code/user/settings.json; 2. Workspace ?? ?? : .vscode/settings project root ????

BREF? ?? PHP ???? ??? ???? ?? ?? ???? ?? ???? ?? ????? ?? ? ? ????. 1. Bref? ??? ? PHP ??? ???? ???? PHP8.3 ? ?? ??? ???? Laravel ? Symfony? ?? ??? ??? ???? ???? PHP? Awslambda? ?????. 2. ?? ???? ??? ????? : Composer? ???? BREF ??, HTTP ?? ??? ? ?? ??? ?? ?? ? ???? ???? ?? Serverless.yml ??; 3. ServerlessDeploy ??? ???? ??? ???? APIGINGWARE? ???? ???? ??? URL? ?????. 4. Lambda ??? ?? Bref? ???? ?????.

PHP? ??? ?? ????? ?? ??? ??????????? ?? ??? ???? ?? ?? ??? ????????. 1. ?? ??? ??? ?? ??? ?? ? ?? ???? ?????. 2. ?? ???? ???? ???? ?? ? ? ???? GC? ?? ????? ???? ?????. 3. "??? ??"zval? ?? ?? ????? ???? GC_COLLECT_CYCLES ()? ?? ? ? GC? ??????. 4. ?? ?? PHP ?? ????? ??? ??? ??? ?? GC_STATUS ()? ?????? GC_COLLECT_CYCLES ()? ? ??? ???????. 5. ?? ???? ?? ??? ??? GC_DISABLE ()? ???? ?? ? ??? ????? ORM? CLER () ???? ?? DeReeference ??? ?????.

readOnlyPropertiesInphp8.2CanonlyBeassignedOnedOneDonceIntheConstructorAratDeclarationandCannotBemodififificificificifified

usearestapitobridgephpandmlmodelsbyrunningthemodelinpythonviaflaskorfastapiandcallingitffuspusingcurlorguzz.2.runpythonscriptsdirectlyfromphpusingexec () orshell_exec () orshell_exec () orshell_exec ()???, ??? ??? ?? ??? hassecurity and somancelitat

?? JavaScript? ???? ??? ??? ?? ??? ??? ??? ?? ??? ?? ??? ??? ???????. 1. HTML ???? ?? ???? ????? ??? ???? ????. 2. CSS ?? : ??? ?? ?? ??? ???? ?? ??, .dark-mode ???? ??? ?? ??? ???? var ()? ?? ??? ??? ?????. 3. JavaScript? ??? ???? ?? ???? ?? ??? ???? ?? LocalStorage? ????. 4. ??? ?? ? ? HTML ???? Dark-Mode ???? ???? ?? ??? LocalStorage? ?????. 5. ?? ?? ?? ??? 0.3 ? ?? ?????? ???? ???? ??????.

??? ?? ?? : Phpartisanmake : SeederUserseeder? ???? ??? ???? ???? ?? ????? ?? ??? ?? ?????? ??? ?? ???? ??????. 2. DatabaseSeeder? ?? ????? ?????? : REGISTERESEEDER, POSTSEEDER ? $ this-> Call ()? ?? ???? ???? ??????. 3. ??? ?? : phpartisandb? ?????? : ??? ?? ?? ? ???? ????? phpartisangymigrate? ?????? : ???-???? ????? ??????. 4
