PHP與MySQL交互使用詳解_PHP教程
Jul 21, 2016 pm 04:06 PM
PHP與MySQL交互使用詳解
1、創(chuàng)建自動連接數據庫的代碼,并生成一些必要的代碼.我們仔細研究一下數據庫的連接函數,會發(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腳本中,這樣當腳本運行時就建立了數據庫連接。因為我們的程序具有交互性,我們要處理用戶輸入的信息,所以在該文件中還應該加入以下代碼.
if (count($HTTP_GET_VARS)) /*如果用戶信息以GET方式輸入,則讀數據*/
{ while (list($key, $value) = each ($HTTP_GET_VARS)) /*函數list()與each()配合處理輸入數據*/
{ $arr_request[strtolower($key)] = $value; } }
/*函數strtolower()將起區(qū)分作用的key字串轉為小寫,這樣對后面的編程有好處,并把他們組成數組*/
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)建數據庫表這有兩種方法:在DOS環(huán)境下輸入命令,但容易出錯哦.
利用程序,就算出錯,修改起來也容易.我們用程序來創(chuàng)建數據表.因為我們的程序要有普遍性,所以表中的字段并不重要,這里我們只是簡單的創(chuàng)建一個.該表具有以下管理字段:
key_script 這是一個有自動增量的字段,它保證表中的紀錄都是獨一無二的.date_created 這是一個日期字段,儲存該紀錄創(chuàng)建的時間
data_updated 這也是日期字段,儲存該紀錄最后一次更新的時間
flag_deleted 儲存該紀錄是否被刪除,"Y":該紀錄已被刪除,"N":該紀錄沒刪除,可使用具有以下儲存信息的字段.script_name 程序名稱
script_size 程序字節(jié)數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、生成插入紀錄代碼程序。似乎我們應該先把紀錄顯示出來,然后才插入紀錄,但因為我們還沒有紀錄,所以把這一步提到前面來。
首先、創(chuàng)建一個HTML表單,以便用戶輸入相關信息。其次、創(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自己產生*/
/*另外flag_deleted字段的卻省值是"N",所以這兩項都不需要我們在這里特別提出來*/
/*大家都知道:PHP嚴格區(qū)分單引號(')、雙引號(")的作用。而我們的作者名等在數組內*/
/*我們要這樣引用數組:$arr_request['author_name'],注意這里有單引號(')*/
/*而我們在輸入insert語句的值時應該這樣:VALUES('$current_date') */
/*如果我們不去處理這些分號,就會出現(xiàn)這種情況:VALUES('$arr_request['author_name']') */
/*這種情況PHP能處理好嗎?當然不能,所以我們的想方法來處理它*//*這里,我們用下面這種技術來避免這個問題;當然這里還有其它的方法。您先想想吧!*/
$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! 插入紀錄功能完成!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

évitez N 1 Problèmes de requête, réduisez le nombre de requêtes de base de données en chargeant à l'avance des données associées; 2. Sélectionnez uniquement les champs requis pour éviter de charger des entités complètes pour enregistrer la mémoire et la bande passante; 3. Utilisez raisonnablement les stratégies de cache, telles que le cache secondaire de la doctrine ou les résultats de requête à haute fréquence de cache de Doctrine; 4. Optimisez le cycle de vie de l'entité et appelez régulièrement () pour libérer la mémoire pour empêcher le débordement de la mémoire; 5. Assurez-vous que l'indice de base de données existe et analysez les instructions SQL générées pour éviter les requêtes inefficaces; 6. Désactiver le suivi automatique des changements dans les scénarios où les modifications ne sont pas nécessaires et utilisez des tableaux ou des modes légers pour améliorer les performances. L'utilisation correcte de l'ORM nécessite de combiner la surveillance SQL, la mise en cache, le traitement par lots et l'optimisation appropriée pour garantir les performances de l'application tout en maintenant l'efficacité du développement.

Le fichier SetfitS.JSON est situé dans le chemin de niveau utilisateur ou au niveau de l'espace de travail et est utilisé pour personnaliser les paramètres VScode. 1. Chemin de niveau utilisateur: Windows est C: \ Users \\ AppData \ Roaming \ Code \ User \ Settings.json, macOS est /users//library/applicationsupport/code/user/settings.json, Linux est /home//.config/code/user/settings.json; 2. Chemin au niveau de l'espace de travail: .vscode / Paramètres dans le répertoire racine du projet

Le mécanisme de collecte des ordures de PHP est basé sur le comptage de référence, mais les références circulaires doivent être traitées par un collecteur de déchets circulaires périodique; 1. Le nombre de références libère la mémoire immédiatement lorsqu'il n'y a pas de référence à la variable; 2. Référence La référence fait que la mémoire ne peut pas être automatiquement libérée, et cela dépend de GC pour le détecter et le nettoyer; 3. GC est déclenché lorsque la "racine possible" Zval atteint le seuil ou appelle manuellement gc_collect_cycles (); 4. Les applications PHP à long terme devraient surveiller GC_Status () et appeler GC_COLLECT_CYCLES () à temps pour éviter la fuite de mémoire; 5. Les meilleures pratiques incluent d'éviter les références circulaires, en utilisant gc_disable () pour optimiser les zones clés de performance et les objets de déréférence via la méthode Clear () d'Orm.

BREF permet aux développeurs PHP de créer des applications évolutives et rentables sans gérer les serveurs. 1.BREF apporte PHP à Awslambda en fournissant une couche d'exécution PHP optimisée, prend en charge PHP8.3 et d'autres versions, et s'intègre de manière transparente à des frameworks tels que Laravel et Symfony; 2. Les étapes de déploiement incluent: l'installation de BREF à l'aide de composer, configurer Serverless.yml pour définir des fonctions et des événements, tels que les points de terminaison HTTP et les commandes artisanales; 3. Exécutez la commande ServerlessDeploy pour terminer le déploiement, configurez automatiquement Apigeway et générez des URL d'accès; 4. Pour les restrictions de lambda, BREF fournit des solutions.

ReadonlypropertiesInphp8.2CanlybeassignedonceinthestrustructoratDeclarationandcannotBemodifiedAfterward, applicationmutabilityaThelanguageLevel.2.Toachievedeep-immutability, webutableTypeSlikEarrayinArrayobjectorUSustomymutability, webutilletypeslikearraysinarrayobjectoruseseCustomMutabeColEctionSucha.

UseArestapitobridgePhpandmlModelsByrunningTheModelinpythonviaflaskorfastapiandCallingitfrompsingCurlorBuzzle.2.Runpythonscripts est ventilateur

Tout d'abord, utilisez JavaScript pour obtenir les préférences du système utilisateur et les paramètres de thème stockés localement et initialiser le thème de la page; 1. La structure HTML contient un bouton pour déclencher la commutation du sujet; 2. CSS utilise: Root pour définir des variables de thème brillantes, la classe de mode. Dark définit les variables de thème sombres et applique ces variables via var (); 3. JavaScript détecte préfère-Color-Scheme et lit LocalStorage pour déterminer le thème initial; 4. Communiquez la classe en mode noir sur l'élément HTML lorsque vous cliquez sur le bouton et enregistre l'état actuel vers LocalStorage; 5. Tous les changements de couleur sont accompagnés d'une animation de transition de 0,3 seconde pour améliorer l'utilisateur

Créer un fichier de semences: utilisez PhPartisanMake: SeeDerUserSederder pour générer la classe Seeder et insérer des données via la requête Model Factory ou Database dans la méthode d'exécution; 2. Appelez un autre Seeder dans DatabaseSeseder: enregistrez USERSEDEDER, POSTSEEDER, etc. dans l'ordre via $ this-> call () pour s'assurer que la dépendance est correcte; 3. Exécutez Seeder: Exécutez PHPARTISANDB: graines pour exécuter tous les semants enregistrés, ou utilisez du phpartisanMigrate: Fresh - Seed pour réinitialiser et remplir les données; 4
