ഡാറ്റാബേസിലേക്ക് ഡാറ്റ ചേർക്കുന്നതിനുള്ള Php ഫോം. mysql ഡാറ്റാബേസിലേക്കുള്ള Php എൻട്രി. പ്രായോഗിക ഉദാഹരണങ്ങൾ. അസാധുവായ ഡാറ്റ തരം

നിങ്ങളുടേതിൽ നിന്ന് ഒരു ഡാറ്റാബേസ് എങ്ങനെ കൈകാര്യം ചെയ്യാമെന്ന് ഈ ഗൈഡ് നിങ്ങളെ കാണിക്കും PHPസ്ക്രിപ്റ്റ്. നീ പഠിക്കും ഒരു MySQL പട്ടികയിലേക്ക് ഒരു റെക്കോർഡ് ചേർക്കുന്നു,ഉപയോഗിക്കുന്നത് PHP കോഡ്. നിങ്ങൾ ആരംഭിക്കുന്നതിന് മുമ്പ്, PHP, ഡാറ്റാബേസുകൾ എന്നിവയിൽ പ്രവർത്തിക്കുന്നതിന്റെ അടിസ്ഥാന ഘട്ടങ്ങൾ ഉൾക്കൊള്ളുന്ന ഞങ്ങളുടെ മറ്റ് ട്യൂട്ടോറിയലുകൾ പരിശോധിക്കുക - PHP-യിൽ നിന്ന് MySQL ഡാറ്റാബേസിലേക്ക് കണക്റ്റുചെയ്യുക.

നിങ്ങൾ ആരംഭിക്കുന്നതിന് മുമ്പ്, ഇനിപ്പറയുന്നവ പരിശോധിക്കുക:

  • നിങ്ങളുടെ ഹോസ്റ്റിംഗ് നിയന്ത്രണ പാനലിലേക്കുള്ള ആക്സസ്

ഘട്ടം 1 - ഒരു പട്ടിക ഉണ്ടാക്കുന്നു

ഒന്നാമതായി, നിങ്ങളുടെ ഡാറ്റയ്ക്കായി ഞങ്ങൾ ഒരു പട്ടിക സൃഷ്ടിക്കേണ്ടതുണ്ട്. നിങ്ങൾക്ക് ചെയ്യാൻ കഴിയുന്ന വളരെ ലളിതമായ ഒരു നടപടിക്രമമാണിത് phpMyAdminനിങ്ങളുടെ ഹോസ്റ്റിംഗ് നിയന്ത്രണ പാനലിൽ നിന്ന്. മുമ്പത്തെ ട്യൂട്ടോറിയലിൽ ഒരു MySQL ഡാറ്റാബേസ് സൃഷ്‌ടിക്കുന്ന പ്രക്രിയ ഞങ്ങൾ ഇതിനകം ഉൾപ്പെടുത്തിയിട്ടുണ്ട്, അതിനാൽ ഞങ്ങൾ ആ ഭാഗം ഇവിടെ ഒഴിവാക്കും.

phpMyAdmin പേജിൽ ലോഗിൻ ചെയ്ത ശേഷം, ഇതുപോലുള്ള ഒരു ചിത്രം നിങ്ങൾ കാണും:

എന്ന പേരിൽ ഒരു പട്ടിക ഉണ്ടാക്കാം വിദ്യാർത്ഥികൾഞങ്ങളുടെ ഡാറ്റാബേസിനായി u266072517_name. ബട്ടൺ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു പുതിയ പട്ടിക സൃഷ്ടിക്കാൻ കഴിയും പട്ടിക സൃഷ്ടിക്കുക. ഇതിനുശേഷം, നിങ്ങളുടെ പട്ടികയ്ക്ക് ആവശ്യമായ എല്ലാ ഡാറ്റയും നൽകാനാകുന്ന ഒരു പുതിയ പേജ് നിങ്ങൾ കാണും:

ഒരു പട്ടിക സൃഷ്‌ടിക്കുന്നതിനുള്ള ഏറ്റവും ലളിതമായ മാർഗമാണിത്, പട്ടിക/ഡാറ്റാബേസ് ഘടനയെ കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്കും ഓരോ ഫീൽഡിനും ഏതൊക്കെ ക്രമീകരണങ്ങൾ ഉപയോഗിക്കാമെന്നും, ദയവായി ഔദ്യോഗിക phpMyAdmin ഡോക്യുമെന്റേഷൻ പരിശോധിക്കുക.

ഞങ്ങൾ ഉപയോഗിക്കുന്ന ഫീൽഡുകളുടെ ചില ലളിതമായ വിശദീകരണങ്ങൾ ഇതാ:

  • പേര്നിങ്ങളുടെ ഫീൽഡിന്റെ പേരാണ്. നിങ്ങളുടെ മേശയുടെ ഏറ്റവും മുകളിൽ ദൃശ്യമാകും.
  • ടൈപ്പ് ചെയ്യുക- ഇവിടെ നിങ്ങൾക്ക് ഫീൽഡ് തരം സജ്ജമാക്കാൻ കഴിയും. ഉദാഹരണത്തിന്, ഞങ്ങൾ തിരഞ്ഞെടുക്കുന്നു varcharകാരണം ഇവിടെ നമ്മൾ ഒരു പേരുള്ള ഒരു സ്ട്രിംഗ് നൽകേണ്ടതുണ്ട് (അതിൽ അക്ഷരങ്ങളാണ്, അക്കങ്ങളല്ല).
  • ദൈർഘ്യം/മൂല്യങ്ങൾ- ഈ ഫീൽഡിലെ നിങ്ങളുടെ എൻട്രിയുടെ പരമാവധി ദൈർഘ്യം സജ്ജീകരിക്കാൻ ഉപയോഗിക്കുന്നു.
  • സൂചിക- ഞങ്ങളുടെ "ഐഡി" ഫീൽഡിനായി ഞങ്ങൾ "പ്രാഥമിക" സൂചിക ഉപയോഗിക്കുന്നു. ഒരു പട്ടിക സൃഷ്ടിക്കുമ്പോൾ, ഒരു ഐഡി ഫീൽഡ് ഉണ്ടായിരിക്കാൻ ശുപാർശ ചെയ്യുന്നു. പട്ടികകൾ തമ്മിലുള്ള ബന്ധങ്ങൾ കോൺഫിഗർ ചെയ്യുമ്പോൾ ഒരു പട്ടികയിലെ റെക്കോർഡുകൾ സൂചികയിലാക്കാൻ ഇത് ഉപയോഗിക്കുന്നു. അതും ഇവിടെ കുറിക്കാം "A_I", അത് അർത്ഥമാക്കുന്നത് ഓട്ടോ ഇൻക്രിമെന്റ്. ഈ ക്രമീകരണം സ്വയമേവ സൂചിക വർദ്ധിപ്പിക്കും (1,2,3,4...).

ക്ലിക്ക് ചെയ്യുക രക്ഷിക്കുംനിങ്ങളുടെ മേശയും സൃഷ്ടിക്കപ്പെടും.

ഘട്ടം 2 - PHP കോഡ് സൃഷ്ടിച്ച് MySQL പട്ടികയിലേക്ക് ഒരു എൻട്രി ചേർക്കുക

ഓപ്ഷൻ 1 - MySQLi രീതി

ഒന്നാമതായി, ഞങ്ങളുടെ മുൻ ട്യൂട്ടോറിയൽ അനുസരിച്ച് നിങ്ങൾ ഡാറ്റാബേസിലേക്ക് ഒരു കണക്ഷൻ സ്ഥാപിക്കേണ്ടതുണ്ട്. ഇതിനുശേഷം, MySQL ടേബിളിലേക്ക് ഒരു റെക്കോർഡ് ചേർക്കുന്നതിന് SQL അന്വേഷണത്തിൽ നമുക്ക് തുടരാം - തിരുകുക. കണക്ഷനും ഇൻസേർഷൻ രീതിയും ഉള്ള ഒരു സമ്പൂർണ്ണ കോഡ് ഉദാഹരണം ഇതാ:

". mysqli_error($conn); ) mysqli_close($conn); ?>

അങ്ങനെ, കോഡിന്റെ ആദ്യ ഭാഗം (വരികൾ 3 – 18 ) ഡാറ്റാബേസ് കണക്ഷൻ സ്ഥാപനത്തിന്റെ ഭാഗം കാണുക. ഞങ്ങൾ ഈ ഭാഗത്തിലൂടെ വീണ്ടും പോകില്ല, ഓരോ വരിയുടെയും അർത്ഥമെന്താണെന്ന് നിങ്ങൾക്ക് അറിയണമെങ്കിൽ, ഒരു ഡാറ്റാബേസിലേക്ക് എങ്ങനെ ബന്ധിപ്പിക്കാം എന്നതിനെക്കുറിച്ചുള്ള ഞങ്ങളുടെ മുൻ ഗൈഡ് പരിശോധിക്കുക.

നമുക്ക് വരിയിൽ നിന്ന് ആരംഭിക്കാം 19 :

$sql = "വിദ്യാർത്ഥികളിലേക്ക് തിരുകുക (പേര്, അവസാന നാമം, ഇമെയിൽ) മൂല്യങ്ങൾ ("തോം", "വിയൽ", " [ഇമെയിൽ പരിരക്ഷിതം]")";

ഇതാണ് ഏറ്റവും പ്രധാനപ്പെട്ട കോഡ്, ഈ ട്യൂട്ടോറിയലിൽ ഞങ്ങൾ ഉൾക്കൊള്ളുന്നതെല്ലാം ഇത് ചെയ്യുന്നു - ഡാറ്റാബേസിലെ MySQL പട്ടികയിലേക്ക് ഒരു റെക്കോർഡ് ചേർക്കുന്നു. ഇൻസേർട്ട് ചെയ്യുകനിർദ്ദിഷ്ട MySQL ഡാറ്റാബേസ് പട്ടികയിലേക്ക് ഒരു റെക്കോർഡ് ചേർക്കുന്ന ഒരു എക്സ്പ്രഷൻ ആണ്. ഞങ്ങളുടെ ഉദാഹരണത്തിൽ ഞങ്ങൾ ഒരു പട്ടികയിലേക്ക് ഡാറ്റ ചേർക്കുന്നു വിദ്യാർത്ഥികൾ.

കൂടുതൽ മുന്നോട്ട് പോകുമ്പോൾ, പരാൻതീസിസിൽ, ഞങ്ങൾ മൂല്യങ്ങൾ ചേർക്കുന്ന പട്ടിക ഫീൽഡുകൾ ഞങ്ങൾ നിർവ്വചിക്കുന്നു: (പേര്, അവസാന നാമം, ഇമെയിൽ). ഡാറ്റ ഒരു നിർദ്ദിഷ്ട ക്രമത്തിൽ ചേർക്കും. നമ്മൾ എഴുതിയാൽ (ഇമെയിൽ, അവസാന നാമം, പേര്), മൂല്യങ്ങൾ മറ്റൊരു ക്രമത്തിൽ ചേർക്കും.

അർത്ഥത്തിന്റെ അടുത്ത ഭാഗം മൂല്യങ്ങൾ. ഇവിടെ ഞങ്ങൾ മുമ്പ് വ്യക്തമാക്കിയ ഫീൽഡുകളിൽ ഞങ്ങളുടെ മൂല്യങ്ങൾ സജ്ജമാക്കുന്നു. അങ്ങനെ, ഓരോ ഫീൽഡിനും അതിന്റേതായ മൂല്യം ലഭിക്കും. ഉദാഹരണത്തിന്, ഞങ്ങളുടെ കാര്യത്തിൽ ഇത് ഇതുപോലെയായിരിക്കും: പേര് = തോം, അവസാന നാമം = കുപ്പി, ഇമെയിൽ = [ഇമെയിൽ പരിരക്ഷിതം] .

ഇവിടെ നമ്മൾ രൂപീകരിക്കുന്നു എന്നതാണ് ശ്രദ്ധിക്കേണ്ട പ്രധാന കാര്യം SQL അന്വേഷണം PHP കോഡ് ഉപയോഗിക്കുന്നു. SQL അന്വേഷണങ്ങൾ ഉദ്ധരണികളിൽ ഉൾപ്പെടുത്തിയിരിക്കണം. ഞങ്ങളുടെ ഉദാഹരണത്തിൽ, ഉദ്ധരണികൾക്കിടയിലുള്ളതും $sql = എന്നതിന് ശേഷം വരുന്നതുമായ എല്ലാം ഒരു SQL അന്വേഷണമാണ്.

കോഡിന്റെ അടുത്ത ഭാഗം ( 20 – 22 വരികൾ) ഞങ്ങളുടെ അഭ്യർത്ഥന പ്രവർത്തിപ്പിക്കുകയും അഭ്യർത്ഥനയുടെ വിജയം പരിശോധിക്കുകയും ചെയ്യുന്നു:

എങ്കിൽ (mysqli_query($conn, $sql)) (എക്കോ "പുതിയ റെക്കോർഡ് വിജയകരമായി സൃഷ്‌ടിച്ചു"; )

ചോദ്യം ശരിയായി പ്രവർത്തിപ്പിച്ചാൽ ഒരു വിജയ സന്ദേശം പ്രദർശിപ്പിക്കും.

അവസാന ഭാഗവും ( 22 – 24 വരികൾ) ഞങ്ങളുടെ അഭ്യർത്ഥന പരാജയപ്പെട്ടാൽ മറ്റൊരു സന്ദേശം കാണിക്കുക:

അല്ലെങ്കിൽ (എക്കോ "പിശക്:" . $sql . "
". mysqli_error($conn); )

എന്തെങ്കിലും തെറ്റ് സംഭവിച്ചാൽ ഈ കോഡ് ഞങ്ങൾക്ക് ഒരു പിശക് സന്ദേശം കാണിക്കുന്നു.

ഓപ്ഷൻ 2 - PHP ഡാറ്റ ഒബ്ജക്റ്റ് രീതി (P HP D ata O bject)

മുമ്പത്തെ ഉദാഹരണത്തിലെന്നപോലെ, ഞങ്ങൾ ആദ്യം ഡാറ്റാബേസിലേക്ക് ഒരു കണക്ഷൻ ഉണ്ടാക്കേണ്ടതുണ്ട്, അത് ഒരു പുതിയ PDO ഒബ്ജക്റ്റ് സൃഷ്ടിക്കുമ്പോൾ ചെയ്യപ്പെടും - മുമ്പത്തെ ട്യൂട്ടോറിയൽ ഇത് എങ്ങനെ സംഭവിക്കുന്നു എന്നതിനെക്കുറിച്ച് സംസാരിക്കുന്നു. ഒരു MySQL ഡാറ്റാബേസ് കണക്ഷൻ ഒരു PDO ഒബ്‌ജക്റ്റ് ആയതിനാൽ, ചോദ്യം തയ്യാറാക്കുന്നതിനും പ്രവർത്തിപ്പിക്കുന്നതിനും ഞങ്ങൾ വിവിധ PDO 'രീതികൾ' (ഒരു നിർദ്ദിഷ്ട വസ്തുവിന്റെ ഭാഗമായ ഒരു തരം ഫംഗ്‌ഷനുകൾ) ഉപയോഗിക്കണം. ഒബ്ജക്റ്റ് രീതികളെ ഇതുപോലെ വിളിക്കുന്നു:

$the_Object->The_Method();

SQL കോഡ് നടപ്പിലാക്കുന്നതിന് മുമ്പ് 'തയ്യാറാക്കാൻ' PDO നിങ്ങളെ അനുവദിക്കുന്നു. പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് SQL അന്വേഷണം വിലയിരുത്തുകയും ക്രമീകരിക്കുകയും ചെയ്യുന്നു. അങ്ങനെ, ഒരു ഫോം ഫീൽഡിൽ SQL കോഡ് പൂരിപ്പിച്ച് ഒരു ലളിതമായ SQL കുത്തിവയ്പ്പ് ആക്രമണം നടത്താം. ഉദാഹരണത്തിന്:

// ഉപയോക്താവ് ഇത് ഒരു ലോഗിൻ ഫോമിന്റെ ഉപയോക്തൃനാമ ഫീൽഡിൽ എഴുതുന്നു thom"; ഡാറ്റാബേസ് ഡ്രോപ്പ് ചെയ്യുക user_table; // അന്തിമ ചോദ്യം ഇതായിരിക്കും "ഉപയോക്തൃ_ടേബിളിൽ നിന്ന് തിരഞ്ഞെടുക്കുക * എവിടെ ഉപയോക്തൃനാമം = thom"; DROP DATABASE user_table;

SQL കോഡ് വാക്യഘടനയിൽ ശരിയായതിനാൽ, അർദ്ധവിരാമം ഉണ്ടാക്കുന്നു ഡാറ്റാബേസ് യൂസർ_ടേബിൾ ഡ്രോപ്പ് ചെയ്യുകപുതിയ SQL അന്വേഷണവും നിങ്ങളുടെ ഉപയോക്താക്കളുടെ പട്ടികയും ഇല്ലാതാക്കി. തയ്യാറാക്കിയ പദപ്രയോഗങ്ങൾ പ്രതീകങ്ങളെ അനുവദിക്കുന്നില്ല ഒപ്പം ; യഥാർത്ഥ അഭ്യർത്ഥനയും നിർദ്ദേശവും പൂർത്തിയാക്കാൻ ഡാറ്റാബേസ് ഡ്രോപ്പ് ചെയ്യുകഒരിക്കലും വധിക്കപ്പെടില്ല.

എപ്പോഴും PDO ഉള്ള ഒരു ഡാറ്റാബേസിൽ നിന്ന് ഡാറ്റ അയയ്ക്കുമ്പോഴോ സ്വീകരിക്കുമ്പോഴോ തയ്യാറാക്കിയ ചോദ്യങ്ങൾ ഉപയോഗിക്കുക.

തയ്യാറാക്കിയ പദപ്രയോഗങ്ങൾ ഉപയോഗിക്കുന്നതിന്, നിങ്ങൾ ഒരു പുതിയ വേരിയബിൾ സൃഷ്ടിക്കേണ്ടതുണ്ട്, അത് രീതിയെ വിളിക്കും തയ്യാറാക്കുക()ഡാറ്റാബേസ് ഒബ്ജക്റ്റിൽ.

ശരിയായ രൂപത്തിൽ കോഡ് ഇതുപോലെ കാണപ്പെടുന്നു:

$servername = "mysql.hostinger.com"; $ഡാറ്റാബേസ് = "u266072517_name"; $username = "u266072517_user"; $password = "buystuffpwd"; $sql = "mysql:host=$servername;dbname=$database;"; $dsn_Options = ; // PDO ഉപയോഗിച്ച് MySQL ഡാറ്റാബേസിലേക്ക് ഒരു പുതിയ കണക്ഷൻ സൃഷ്‌ടിക്കുക, $my_Db_Connection ഒരു ഒബ്‌ജക്റ്റ് ട്രൈ ആണ് ($my_Db_Connection = പുതിയ PDO($sql, $username, $password, $dsn_Options); പ്രതിധ്വനി "വിജയകരമായി ബന്ധിപ്പിച്ചു"; ) ക്യാച്ച് (PDOException പിശക്) (എക്കോ "കണക്ഷൻ പിശക്: ". $error->getMessage(); ) // $first_Name = "Thom" എന്ന ഡാറ്റാബേസിലേക്ക് നമ്മൾ ചേർക്കാൻ ആഗ്രഹിക്കുന്ന വ്യക്തിക്ക് വേരിയബിളുകൾ സജ്ജമാക്കുക; $last_Name = "Vial"; $ഇമെയിൽ = " [ഇമെയിൽ പരിരക്ഷിതം]"; // ഇവിടെ ഞങ്ങൾ ഡാറ്റാബേസ് ഒബ്‌ജക്റ്റിന്റെ തയ്യാറാക്കൽ () രീതിയെ വിളിക്കുന്ന ഒരു വേരിയബിൾ സൃഷ്‌ടിക്കുന്നു // നിങ്ങൾ പ്രവർത്തിപ്പിക്കാൻ ആഗ്രഹിക്കുന്ന SQL ചോദ്യം പാരാമീറ്ററായി നൽകി, കൂടാതെ പ്ലെയ്‌സ്‌ഹോൾഡറുകൾ ഇതുപോലെ എഴുതിയിരിക്കുന്നു: placeholder_name $my_Insert_Statement = $my_Db_Connection-> തയ്യാറാക്കുക ("വിദ്യാർത്ഥികളിലേക്ക് ചേർക്കുക (പേര്, അവസാന നാമം, ഇമെയിൽ) മൂല്യങ്ങൾ (:first_name, :last_name, :email)"); // ഓരോ പ്ലെയ്‌സ്‌ഹോൾഡറും യഥാർത്ഥത്തിൽ bindParam() രീതി ഉപയോഗിച്ച് ഏത് വേരിയബിളാണ് സൂചിപ്പിക്കുന്നതെന്ന് ഇപ്പോൾ ഞങ്ങൾ സ്‌ക്രിപ്റ്റിനോട് പറയുന്നു // ആദ്യം മുകളിലെ പ്രസ്താവനയിലെ പ്ലെയ്‌സ്‌ഹോൾഡറാണ് പാരാമീറ്റർ - രണ്ടാമത്തെ പാരാമീറ്റർ എന്നത് $my_Insert_Statement->bindParam (:first_name, $first_Name); $my_Insert_Statement->bindParam(:last_name, $last_Name) എന്നതിനെ പരാമർശിക്കേണ്ട ഒരു വേരിയബിളാണ്. bindParam(:email,$email); $my_Insert_Statement->എക്‌സിക്യൂട്ട്()) ( "പുതിയ റെക്കോർഡ് വിജയകരമായി സൃഷ്‌ടിച്ചു"; ) വേറെ (എക്കോ "റെക്കോർഡ് സൃഷ്‌ടിക്കാനായില്ല"; ) // ഈ ഘട്ടത്തിൽ നിങ്ങൾക്ക് വേരിയബിളുകളുടെ ഡാറ്റ മാറ്റി $first_Name = "ജോൺ" എന്ന ഡാറ്റാബേസിലേക്ക് കൂടുതൽ ഡാറ്റ ചേർക്കുന്നതിന് വീണ്ടും എക്സിക്യൂട്ട് ചെയ്യാം; $last_Name = "സ്മിത്ത്"; $ഇമെയിൽ = " [ഇമെയിൽ പരിരക്ഷിതം]"; $my_Insert_Statement-> execute(); // ($my_Insert_Statement->എക്‌സിക്യൂട്ട്()) (എക്കോ "പുതിയ റെക്കോർഡ് സൃഷ്‌ടിക്കപ്പെട്ടു"; ) അല്ലെങ്കിൽ (എക്കോ "റെക്കോർഡ് സൃഷ്‌ടിക്കാനായില്ല"; )

28, 29, 30 വരികളിൽ ഞങ്ങൾ രീതി ഉപയോഗിക്കുന്നു bindParam()ഡാറ്റാബേസ് ഒബ്ജക്റ്റ്. ഒരു രീതിയും ഉണ്ട് bindValue(), മുമ്പത്തേതിൽ നിന്ന് വ്യത്യസ്തമാണ്.

  • bindParam() –ഈ രീതി ഡാറ്റ കണക്കാക്കുന്നു എക്സിക്യൂട്ട് ()നേടിയത്. ആദ്യമായി സ്ക്രിപ്റ്റ് രീതിയിലേക്ക് എത്തുന്നു എക്സിക്യൂട്ട് ()അവൻ അത് കാണുന്നു $first_Nameറഫറൻസുകൾ "Thom", ആ മൂല്യം ബന്ധിപ്പിച്ച് ചോദ്യം നിർവ്വഹിക്കുന്നു. സ്ക്രിപ്റ്റ് രണ്ടാമത്തെ തവണ രീതിയിലേക്ക് എത്തുമ്പോൾ എക്സിക്യൂട്ട് (), അവൻ അത് നോക്കുന്നു $first_Nameഇപ്പോൾ റഫറൻസ് "ജോൺ", ആ മൂല്യം ബന്ധിപ്പിക്കുകയും പുതിയ മൂല്യം ഉപയോഗിച്ച് ചോദ്യം വീണ്ടും പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നു. ഞങ്ങൾ ഒരിക്കൽ അഭ്യർത്ഥന സൃഷ്‌ടിക്കുകയും പിന്നീട് സ്‌ക്രിപ്‌റ്റിലെ വ്യത്യസ്ത സ്ഥലങ്ങളിൽ വ്യത്യസ്ത ഡാറ്റ മാറ്റിസ്ഥാപിക്കുകയും ചെയ്യുന്നുവെന്ന് മനസ്സിലാക്കേണ്ടത് പ്രധാനമാണ്.
  • bindValue() –ഈ രീതി അതിന്റെ ഊഴം ലഭിച്ചാലുടൻ ഡാറ്റ കണക്കാക്കുന്നു. മൂല്യം മുതൽ $first_Nameഞങ്ങൾ മെത്തേഡിൽ എത്തിയ സമയത്ത് "തോം" ആയി സജ്ജീകരിച്ചു bindValue(), രീതി വിളിക്കുമ്പോൾ അത് ഉപയോഗിക്കും എക്സിക്യൂട്ട് ()വേണ്ടി $my_Insert_Statement.

ഞങ്ങൾ വേരിയബിൾ വീണ്ടും ഉപയോഗിക്കുന്നുവെന്നത് ശ്രദ്ധിക്കുക $first_Nameരണ്ടാമതും അതിന് ഒരു പുതിയ മൂല്യം നൽകുക. ഈ സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിച്ചതിന് ശേഷം നിങ്ങളുടെ ഡാറ്റാബേസ് പരിശോധിച്ചാൽ, ഈ വേരിയബിൾ മൂല്യത്തിന് വിരുദ്ധമായി നൽകിയിരിക്കുന്ന രണ്ട് പേരുകളും ഉണ്ടാകും. $first_Nameഈ സ്ക്രിപ്റ്റിന്റെ അവസാനം "ജോൺ" എന്നതിന് തുല്യമായിരിക്കും. ഒരു സ്ക്രിപ്റ്റ് പ്രവർത്തിക്കുന്നതിന് മുമ്പ് PHP അതിന്റെ ഉള്ളടക്കം വിലയിരുത്തുന്നുവെന്ന് ഓർക്കുക.

മാറ്റി പകരം നിങ്ങളുടെ സ്ക്രിപ്റ്റ് മാറ്റുകയാണെങ്കിൽ bindParamഓൺ bindValue, നിങ്ങൾ MySQL ഡാറ്റാബേസിലേക്ക് "Thom Vial" രണ്ടുതവണ ചേർക്കും, ജോൺ സ്മിത്ത് അവഗണിക്കപ്പെടും.

ഘട്ടം 3 - വിജയം പരിശോധിച്ച് പൊതുവായ പ്രശ്നങ്ങൾ പരിഹരിക്കുക

MySQL ഡാറ്റാബേസിൽ ഞങ്ങൾ നടത്തിയ ചോദ്യം വിജയകരമാണെങ്കിൽ, ഞങ്ങൾ ഇനിപ്പറയുന്ന സന്ദേശം കാണും:

സാധാരണ പിശകുകൾ പരിഹരിക്കുന്നു

MySQLi

മറ്റേതെങ്കിലും സാഹചര്യത്തിൽ, മുകളിലുള്ള സന്ദേശത്തിന് പകരം ഒരു പിശക് സന്ദേശം കാണിക്കും. ഉദാഹരണത്തിന്, നമ്മുടെ കോഡിൽ ഒരു വാക്യഘടന പിശക് വരുത്താം, നമുക്ക് ഇത് ലഭിക്കും:

നമുക്ക് കാണാനാകുന്നതുപോലെ, കോഡിന്റെ ആദ്യഭാഗം മികച്ചതാണ്, കണക്ഷൻ വിജയകരമായി സ്ഥാപിച്ചു, പക്ഷേ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ ഞങ്ങളുടെ SQL അന്വേഷണം പരാജയം നേരിട്ടു.

"പിശക്: വിദ്യാർത്ഥികളിലേക്ക് ചേർക്കുക (പേര്, അവസാന നാമം, ഇമെയിൽ) മൂല്യങ്ങൾ ("തോം", "വിയൽ", " [ഇമെയിൽ പരിരക്ഷിതം]") നിങ്ങളുടെ SQL വാക്യഘടനയിൽ നിങ്ങൾക്ക് ഒരു പിശകുണ്ട്; "(പേര്, അവസാന നാമം, ഇമെയിൽ) മൂല്യങ്ങൾ ("തോം", "വിയൽ", " എന്നിവയ്ക്ക് സമീപം ഉപയോഗിക്കുന്നതിന് ശരിയായ വാക്യഘടനയ്ക്കായി നിങ്ങളുടെ MySQL സെർവർ പതിപ്പുമായി പൊരുത്തപ്പെടുന്ന മാനുവൽ പരിശോധിക്കുക. [ഇമെയിൽ പരിരക്ഷിതം]")" വരി 1" ൽ

ഞങ്ങളുടെ സ്ക്രിപ്റ്റ് പരാജയപ്പെടുന്നതിന് കാരണമാകുന്ന ഒരു വാക്യഘടന പിശക് ഉണ്ടായിരുന്നു. പിശക് ഇവിടെയായിരുന്നു:

$sql = "വിദ്യാർത്ഥികളിലേക്ക് തിരുകുക (പേര്, അവസാന നാമം, ഇമെയിൽ) മൂല്യങ്ങൾ ("തോം", "വിയൽ", " [ഇമെയിൽ പരിരക്ഷിതം]")";

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഞങ്ങൾ പരാൻതീസിസുകൾക്ക് പകരം ചുരുണ്ട ബ്രേസുകളാണ് ഉപയോഗിക്കുന്നത്. ഇത് തെറ്റാണ്, ഞങ്ങളുടെ സ്ക്രിപ്റ്റിൽ ഒരു വാക്യഘടന പിശകിന് കാരണമാകുന്നു.

പി.ഡി.ഒ

PDO കണക്ഷന്റെ 7-ാം വരിയിൽ, പിശക് കൈകാര്യം ചെയ്യൽ മോഡ് 'എല്ലാ ഒഴിവാക്കലുകളും പ്രദർശിപ്പിക്കുക' ആയി സജ്ജീകരിച്ചിരിക്കുന്നു. നിങ്ങൾ ഇത് സ്ക്രിപ്റ്റിൽ നിന്ന് നീക്കം ചെയ്യുകയും അഭ്യർത്ഥന പരാജയപ്പെടുകയും ചെയ്താൽ, നിങ്ങൾക്ക് ഒരു പിശക് സന്ദേശവും ലഭിക്കില്ല. ഒഴിവാക്കലുകൾ പ്രവർത്തനക്ഷമമാക്കിയാൽ, നേരിടുന്ന നിർദ്ദിഷ്ട പ്രശ്നങ്ങൾ പ്രദർശിപ്പിക്കും. നിങ്ങളുടെ ഡാറ്റയിലേക്ക് അനധികൃത ആക്സസ് നേടിയേക്കാവുന്ന ആരിൽ നിന്നും നിങ്ങൾ മറയ്ക്കാൻ ആഗ്രഹിക്കുന്ന ഡാറ്റാബേസും പട്ടികയുടെ പേരുകളും ഇത് വെളിപ്പെടുത്തിയേക്കാം എന്നതിനാൽ, ഒരു സ്ക്രിപ്റ്റ് വികസിപ്പിക്കുമ്പോൾ ഇത് സാധാരണയായി ഉപയോഗിക്കുന്നതാണ് നല്ലത്. മുകളിലുള്ള സാഹചര്യത്തിൽ, പരാൻതീസിസിനുപകരം ചുരുണ്ട ബ്രേസുകൾ ഉപയോഗിക്കുമ്പോൾ, പിശക് താഴെ കാണുന്നത് പോലെയാണ്:

മാരകമായ പിശക്: "SQLSTATE: വാക്യഘടന പിശക് അല്ലെങ്കിൽ ആക്‌സസ് ലംഘനം" എന്ന സന്ദേശത്തോടുകൂടിയ "PDOException" എന്ന കണ്ടെത്താത്ത ഒഴിവാക്കൽ: 1064 നിങ്ങളുടെ SQL വാക്യഘടനയിൽ നിങ്ങൾക്ക് ഒരു പിശക് ഉണ്ട്; "(പേര്, അവസാന നാമം, ഇമെയിൽ) മൂല്യങ്ങൾ ("തോം", "വിയൽ", " എന്നിവയ്ക്ക് സമീപം ഉപയോഗിക്കുന്നതിന് ശരിയായ വാക്യഘടനയ്ക്കായി നിങ്ങളുടെ MySQL സെർവർ പതിപ്പുമായി പൊരുത്തപ്പെടുന്ന മാനുവൽ പരിശോധിക്കുക. [ഇമെയിൽ പരിരക്ഷിതം]")" വരി 1" ൽ

നിങ്ങൾ നേരിട്ടേക്കാവുന്ന മറ്റ് പ്രശ്നങ്ങൾ:

  • ഫീൽഡുകൾ തെറ്റായി വ്യക്തമാക്കിയിരിക്കുന്നു (നിലവിലില്ലാത്ത ഫീൽഡുകൾ അല്ലെങ്കിൽ അക്ഷരത്തെറ്റുള്ള പേരുകൾ).
  • മൂല്യ തരം ഫീൽഡ് തരവുമായി പൊരുത്തപ്പെടുന്നില്ല. ഉദാഹരണത്തിന്, ഒരു സംഖ്യയുടെ മൂല്യം നൽകണമെന്നുണ്ടെങ്കിൽ 47 വയൽ പേര്, മൂല്യം ഒരു സ്ട്രിംഗ് ആയിരിക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നതിനാൽ ഞങ്ങൾക്ക് ഒരു പിശക് ലഭിക്കും. പക്ഷേ, നിങ്ങൾ ഉദ്ധരണികളിൽ ഒരു നമ്പർ വ്യക്തമാക്കുകയാണെങ്കിൽ, ഉദാഹരണത്തിന്, “47” , ഒരു പിശകും ഉണ്ടാകില്ല, കാരണം ഈ ഫീൽഡിൽ ഞങ്ങളുടെ നമ്പർ ഒരു സ്ട്രിംഗായി എഴുതപ്പെടും.
  • നിലവിലില്ലാത്ത ഒരു പട്ടികയിലേക്ക് ഡാറ്റ നൽകാനുള്ള ശ്രമം അല്ലെങ്കിൽ പട്ടികയുടെ പേര് അക്ഷരവിന്യാസത്തിലെ പിശക്.

പിശക് തിരുത്തൽ ഗൈഡുകൾ പിന്തുടർന്ന് അല്ലെങ്കിൽ പിശക് ലോഗ് പരിശോധിച്ച് ഈ പിശകുകളെല്ലാം പരിഹരിക്കാനാകും.

ഡാറ്റ വിജയകരമായി ചേർത്ത ശേഷം, അത് ഞങ്ങളുടെ ഡാറ്റാബേസിൽ കാണും. ഞങ്ങൾ ഡാറ്റ ചേർത്ത പട്ടികയുടെ ഒരു ഉദാഹരണം ഇതാ phpMyAdmin.

ഉപസംഹാരം

ഈ ട്യൂട്ടോറിയലിൽ നിങ്ങൾ എങ്ങനെ ഉപയോഗിക്കണമെന്ന് പഠിച്ചു MySQL പട്ടികയിലേക്ക് ഒരു റെക്കോർഡ് ചേർക്കുന്നതിനുള്ള PHP കോഡ്ഉപയോഗിക്കുന്നത് MySQLiഒപ്പം പി.ഡി.ഒ. പൊതുവായ പിശകുകളും അവയുടെ പരിഹാരങ്ങളും ഞങ്ങൾ പരിശോധിച്ചു. ഒരു MySQL ഡാറ്റാബേസിലേക്ക് ചേർക്കുന്നതിന് PHP കോഡ് എങ്ങനെ ഉപയോഗിക്കണമെന്ന് അറിയുന്നത്, നിങ്ങൾ പ്രോഗ്രാം ചെയ്യാൻ പഠിക്കുകയാണെങ്കിലും അല്ലെങ്കിൽ ഇതിനകം തന്നെ നിങ്ങളുടെ സ്വന്തം വെബ്സൈറ്റ് സൃഷ്ടിക്കുകയാണെങ്കിലും ഉപയോഗപ്രദമാകും.

ഈ ട്യൂട്ടോറിയലിൽ, നിങ്ങളുടെ PHP സ്ക്രിപ്റ്റുകളിൽ നിന്ന് നേരിട്ട് ഒരു ഡാറ്റാബേസിലേക്ക് ഡാറ്റ എങ്ങനെ ചേർക്കാമെന്ന് ഞങ്ങൾ നോക്കാം.

SQL ഉപയോഗിച്ച് ഡാറ്റ ചേർക്കുന്നു

ഡാറ്റാബേസുകളും പട്ടികകളും സൃഷ്ടിക്കാൻ നിങ്ങൾ SQL ഉപയോഗിക്കുന്നതുപോലെ ഒരു ഡാറ്റാബേസിലേക്ക് ഡാറ്റ തിരുകാൻ നിങ്ങൾ SQL ഉപയോഗിക്കുന്നു. SQL അന്വേഷണ വാക്യഘടന ഇതാണ്:

പട്ടികയുടെ പേരിലേക്ക് തിരുകുക (നിര 1, കോളം 2, ...) മൂല്യങ്ങൾ(മൂല്യം1,മൂല്യം 2, ...)

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഒരു SQL പ്രസ്താവനയിൽ ഒന്നിലധികം കോളങ്ങൾ കോമയാൽ വേർതിരിച്ച ലിസ്റ്റിൽ വ്യക്തമാക്കിയുകൊണ്ട് നിങ്ങൾക്ക് അപ്ഡേറ്റ് ചെയ്യാൻ കഴിയും. എന്നാൽ തീർച്ചയായും, നിങ്ങൾക്ക് ഒരു നിരയും ഒരു മൂല്യവും മാത്രമേ വ്യക്തമാക്കാൻ കഴിയൂ. ഈ SQL പ്രസ്താവനയിൽ പരാമർശിക്കാത്ത നിരകൾ ശൂന്യമായി തുടരും.

ഉദാഹരണം: ഒരു ടേബിളിൽ ഒരു പുതിയ വ്യക്തിയെ ചേർക്കുന്നു

ഈ ഉദാഹരണത്തിൽ ഞങ്ങൾ പാഠം 18-ൽ നിന്നുള്ള ഡാറ്റാബേസ് ഉപയോഗിക്കുന്നു. ഒരു വ്യക്തിയെ ഡാറ്റാബേസിലേക്ക് തിരുകാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് പറയാം. ആകാം ഗസ് ഗൂസ്ഫോൺ നമ്പർ സഹിതം 99887766 ജനനത്തീയതിയും 1964-04-20 .

SQL പ്രസ്താവന ഇതുപോലെയാകാം:

$strSQL = "ആളുകളിലേക്ക് തിരുകുക (ആദ്യപ്പേര്, അവസാന നാമം, ഫോൺ, ജനനത്തീയതി) മൂല്യങ്ങൾ("ഗസ്", "ഗോസ്","99887766 ","1964-04-20"");

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, SQL പ്രസ്താവനകൾ വളരെ ദൈർഘ്യമേറിയതും ട്രാക്ക് നഷ്‌ടപ്പെടുത്തുന്നതും എളുപ്പമായിരിക്കും. അതിനാൽ, SQL പ്രസ്താവന അല്പം വ്യത്യസ്തമായി എഴുതുന്നതാണ് നല്ലത്:

strSQL = "ആളുകളിലേക്ക് തിരുകുക("; strSQL = strSQL. "പേരിന്റെ ആദ്യഭാഗം, "; strSQL = strSQL. "പേരിന്റെ അവസാന ഭാഗം," strSQL = strSQL. "ഫോൺ," strSQL = strSQL. "ജനനം)"; strSQL = strSQL. "മൂല്യങ്ങൾ ("; strSQL = strSQL . ""ഗുസ്", "; strSQL = strSQL. ""വാത്ത്", "; strSQL = strSQL. ""99887766", "; strSQL = strSQL. ""1964-04-20""); mysql_query($strSQL) അല്ലെങ്കിൽ ഡൈ(mysql_error());

വാക്യത്തെ ചെറിയ ഭാഗങ്ങളായി വിഭജിച്ച് അവയെ ഒരു വേരിയബിളായി സംയോജിപ്പിച്ചാണ് ഇവിടെ SQL പ്രസ്താവന നിർമ്മിച്ചിരിക്കുന്നത്. $strSQL.

പ്രായോഗികമായി, ഒന്നോ അല്ലെങ്കിൽ മറ്റൊരു രീതിയോ ഉപയോഗിക്കുന്നതിൽ വ്യത്യാസമില്ല, എന്നാൽ വലിയ പട്ടികകളിൽ പ്രവർത്തിക്കുമ്പോൾ "ട്രാക്ക് സൂക്ഷിക്കാനുള്ള" കഴിവ് വളരെ പ്രധാനമാണ്, അതിനാൽ ഏറ്റവും അനുയോജ്യമായ രീതി തിരഞ്ഞെടുക്കുക.

ഡാറ്റാബേസിലേക്ക് ഗസ് ഗൂസ് ചേർക്കാൻ ഇനിപ്പറയുന്ന കോഡ് പരീക്ഷിക്കാം:

ഡാറ്റാബേസിലേക്ക് ഡാറ്റ ചേർക്കുന്നു // ഡാറ്റാബേസ് സെർവറിലേക്കുള്ള കണക്ഷൻ mysql_connect("mysql.myhost.com", "user", "sesame") അല്ലെങ്കിൽ ഡൈ (mysql_error());// ഡാറ്റാബേസ് തിരഞ്ഞെടുക്കുക mysql_select_db("mydabase") അല്ലെങ്കിൽ ഡൈ(mysql_error()); //SQL പ്രസ്താവന നിർമ്മിക്കുന്നു $strSQL = "ആളുകളിലേക്ക് തിരുകുക("; $strSQL = $strSQL . "പേരിന്റെ ആദ്യഭാഗം, "; $strSQL = $strSQL . "പേരിന്റെ അവസാന ഭാഗം, "; $strSQL = $strSQL . "ഫോൺ," $strSQL = $strSQL . "ജനനത്തീയതി"; $strSQL = $strSQL . "മൂല്യങ്ങൾ("; $strSQL = $strSQL . ""ഗസ്", "; $strSQL = $strSQL . ""വാത്ത്", "; $strSQL = $strSQL . ""99887766", "; $strSQL = $strSQL . ""1964-04-20""); // SQL പ്രസ്താവന നടപ്പിലാക്കി mysql_query($strSQL) അല്ലെങ്കിൽ ഡൈ (mysql_error()); //കണക്ഷൻ അടയ്ക്കുക mysql_close(); ?>

DB അപ്ഡേറ്റ് ചെയ്തു!



ഡാറ്റാബേസിലേക്ക് ഉപയോക്തൃ ഇൻപുട്ട് സംരക്ഷിക്കുന്നു

പാഠം 11-ൽ ഉള്ളതുപോലെ ഇത് ചെയ്യുന്നതിന് നിങ്ങൾക്ക് ഒരു ഫോം സൃഷ്ടിക്കാൻ കഴിയുമെന്ന് നിങ്ങൾ ഇതിനകം മനസ്സിലാക്കിയിരിക്കാം, കൂടാതെ ഫോമിൽ നിന്നുള്ള മൂല്യങ്ങൾ ഒരു SQL പ്രസ്താവനയിലേക്ക് തിരുകാൻ കഴിയും. നിങ്ങൾക്ക് ഒരു ലളിതമായ ഫോം ഉണ്ടെന്ന് പറയാം:

ഈ ഫോം ഫയലിൽ സമർപ്പിച്ചു insert.php, പാഠം 11-ൽ കാണിച്ചിരിക്കുന്നതുപോലെ, ഫോമിലെ ഉള്ളടക്കങ്ങൾ അഭ്യർത്ഥിച്ചുകൊണ്ട് നിങ്ങൾക്ക് ഉപയോക്തൃ ഇൻപുട്ട് സ്വീകരിക്കാനാകും. ഈ പ്രത്യേക സാഹചര്യത്തിൽ, SQL പ്രസ്താവന ഇതുപോലെയായിരിക്കാം:

strSQL = "ആളുകളിലേക്ക് ചേർക്കുക(ആദ്യനാമം) മൂല്യങ്ങൾ("" . $_POST["FirstName"] . "")"

അതുപോലെ, നിങ്ങൾക്ക് കുക്കികൾ, അന്വേഷണ സ്ട്രിംഗ് സെഷനുകൾ മുതലായവയിൽ നിന്ന് ഡാറ്റ അഭ്യർത്ഥിക്കാം.

തുടക്കക്കാരുടെ ഏറ്റവും സാധാരണമായ തെറ്റുകൾ

ആദ്യം, നിങ്ങൾ ഡാറ്റാബേസ് അപ്ഡേറ്റ് ചെയ്യാൻ ശ്രമിക്കുമ്പോൾ നിങ്ങൾക്ക് ഒരു കൂട്ടം പിശക് സന്ദേശങ്ങൾ ലഭിച്ചേക്കാം. ഡാറ്റാബേസിൽ പ്രവർത്തിക്കുമ്പോൾ, പിശകുകളൊന്നും അനുവദനീയമല്ല. ഒരു തെറ്റായ കോമ അർത്ഥമാക്കുന്നത് ഡാറ്റാബേസ് അപ്‌ഡേറ്റ് ചെയ്തിട്ടില്ലെന്നും നിങ്ങൾക്ക് ഒരു പിശക് സന്ദേശം ലഭിക്കും എന്നാണ്. ഏറ്റവും സാധാരണമായ തെറ്റുകൾ ഞങ്ങൾ ചുവടെ വിവരിക്കുന്നു.

അസാധുവായ ഡാറ്റ തരം

കോളത്തിന്റെ ഡാറ്റയും ഡാറ്റ തരവും പരസ്പരം പൊരുത്തപ്പെടുന്നത് പ്രധാനമാണ്. ഓരോ നിരയിലും ഒരു പ്രത്യേക തരം ഡാറ്റ അടങ്ങിയിരിക്കാം. ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ട് ഞങ്ങളുടെ ഉദാഹരണത്തിൽ നിന്നുള്ള "ആളുകൾ" പട്ടികയുടെ ഡാറ്റ തരങ്ങൾ കാണിക്കുന്നു.

ഉദാഹരണത്തിന്, നിങ്ങൾ ഒരു ഡാറ്റ ഫീൽഡിലേക്ക് ടെക്‌സ്‌റ്റോ നമ്പറോ ചേർക്കാൻ ശ്രമിക്കുകയാണെങ്കിൽ ഒരു പിശക് സംഭവിക്കുന്നു. അതിനാൽ, ഡാറ്റ തരം കഴിയുന്നത്ര കൃത്യമായി സജ്ജമാക്കുക.

ഏറ്റവും സാധാരണമായ ഡാറ്റ തരങ്ങൾ ചുവടെ പട്ടികപ്പെടുത്തിയിരിക്കുന്നു:

അർത്ഥം ഡാറ്റ തരം വലിപ്പം
CHR
വാചകം അല്ലെങ്കിൽ വാചകത്തിന്റെയും അക്കങ്ങളുടെയും സംയോജനം. കണക്കുകൂട്ടലുകളിൽ ഉപയോഗിക്കാത്ത നമ്പറുകൾക്കും ഉപയോഗിക്കാം (ഉദാ: ടെലിഫോൺ നമ്പറുകൾ). 255 പ്രതീകങ്ങൾ വരെ - അല്ലെങ്കിൽ "നീളത്തിൽ" വ്യക്തമാക്കിയ ദൈർഘ്യം
വാചകം
ടെക്‌സ്‌റ്റിന്റെ വലിയ ബ്ലോക്കുകൾ അല്ലെങ്കിൽ വാചകത്തിന്റെയും അക്കങ്ങളുടെയും സംയോജനം. 65,535 പ്രതീകങ്ങൾ വരെ
INT
ഗണിതശാസ്ത്ര കണക്കുകൂട്ടലുകൾക്കുള്ള സംഖ്യാ ഡാറ്റ. 4 ബൈറ്റുകൾ
തീയതി
YYY-MM-DD ഫോർമാറ്റിലുള്ള തീയതികൾ 3 ബൈറ്റുകൾ
സമയം
സമയം hh:mm:ss ഫോർമാറ്റിൽ 3 ബൈറ്റുകൾ
തീയതി സമയം
YYY-MM-DD hh:mm:ss എന്ന ഫോർമാറ്റിൽ തീയതിയും സമയവും 8 ബൈറ്റുകൾ

ഉദ്ധരണികളോ ബാക്ക്സ്ലാഷുകളോ ഉള്ള SQL പ്രസ്താവനകൾ

നിങ്ങൾ ഒറ്റ ഉദ്ധരണി ("), ഇരട്ട ഉദ്ധരണി ("), അല്ലെങ്കിൽ ബാക്ക്സ്ലാഷ് (\) പ്രതീകങ്ങൾ അടങ്ങുന്ന ടെക്സ്റ്റ് തിരുകാൻ ശ്രമിക്കുകയാണെങ്കിൽ, റെക്കോർഡ് ഡാറ്റാബേസിൽ ചേർക്കില്ല. ഡാറ്റാബേസ് അന്വേഷണങ്ങളിൽ ചേർക്കുമ്പോൾ ഓർമ്മപ്പെടുത്തേണ്ട പ്രതീകങ്ങൾക്ക് മുന്നിൽ ബാക്ക്‌സ്ലാഷുകൾ മാറ്റിസ്ഥാപിക്കുക എന്നതാണ് പരിഹാരം.

ഈ ലേഖനത്തിൽ, ഒരു MySQL ഡാറ്റാബേസിലേക്ക് വരികൾ തിരുകാൻ PHP എങ്ങനെ ഉപയോഗിക്കാമെന്ന് നോക്കാം.

ഘട്ടം 1 - ഒരു പട്ടിക ഉണ്ടാക്കുന്നു

ആദ്യം നിങ്ങൾ ഡാറ്റയ്ക്കായി ഒരു പട്ടിക സൃഷ്ടിക്കേണ്ടതുണ്ട്. നിങ്ങളുടെ ഹോസ്റ്റിംഗ് കൺട്രോൾ പാനലിൽ phpMyAdmin ഉപയോഗിച്ച് ചെയ്യാവുന്ന ഒരു ലളിതമായ നടപടിക്രമമാണിത്.

phpMyAdmin-ലേക്ക് ലോഗിൻ ചെയ്ത ശേഷം നിങ്ങൾ ഈ ഇന്റർഫേസ് കാണും:
u266072517_name ഡാറ്റാബേസിൽ “പട്ടിക സൃഷ്‌ടിക്കുക” ബട്ടണിൽ ക്ലിക്കുചെയ്‌ത് വിദ്യാർത്ഥികൾ എന്ന പേരിൽ ഒരു ടേബിൾ സൃഷ്‌ടിക്കാം. ഇതിനുശേഷം, ആവശ്യമായ എല്ലാ ടേബിൾ പാരാമീറ്ററുകളും ഞങ്ങൾ സജ്ജമാക്കുന്ന ഒരു പുതിയ പേജ് ഞങ്ങൾ കാണും:

ഒരു ടേബിളിൽ ഉപയോഗിക്കാവുന്ന ഏറ്റവും ലളിതമായ ക്രമീകരണമാണിത്, പട്ടിക/ഡാറ്റാബേസ് ഘടനയെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ലഭിക്കും.

നിര ഓപ്ഷനുകൾ:

  • പട്ടികയുടെ മുകളിൽ ദൃശ്യമാകുന്ന കോളത്തിന്റെ പേരാണ് പേര്.
  • തരം - നിര തരം. ഉദാഹരണത്തിന്, ഞങ്ങൾ സ്‌ട്രിംഗ് മൂല്യങ്ങൾ നൽകുന്നതിനാൽ ഞങ്ങൾ varchar തിരഞ്ഞെടുത്തു.
  • ദൈർഘ്യം/മൂല്യങ്ങൾ - ഈ നിരയിലെ ഒരു എൻട്രിക്ക് ഉണ്ടായിരിക്കാവുന്ന പരമാവധി ദൈർഘ്യം വ്യക്തമാക്കാൻ ഉപയോഗിക്കുന്നു.
  • സൂചിക - "ഐഡി" ഫീൽഡിനായി ഞങ്ങൾ "പ്രാഥമിക" സൂചിക ഉപയോഗിച്ചു. ഒരു പട്ടിക സൃഷ്ടിക്കുമ്പോൾ, പ്രാഥമിക കീയായി ഒരു കോളം മാത്രം ഉപയോഗിക്കാൻ ശുപാർശ ചെയ്യുന്നു. പട്ടികയിലെ റെക്കോർഡുകൾ പട്ടികപ്പെടുത്താൻ ഇത് ഉപയോഗിക്കുന്നു, പട്ടിക സജ്ജീകരിക്കുമ്പോൾ അത് ആവശ്യമാണ്. റെക്കോർഡ് നമ്പറുകൾ സ്വയമേവ അസൈൻ ചെയ്യുന്നതിനുള്ള പരാമീറ്റർ (1,2,3,4...) - "A_I" എന്നതും ഞാൻ ശ്രദ്ധിച്ചു, അതായത് "ഓട്ടോ ഇൻക്രിമെന്റ്".
    "സംരക്ഷിക്കുക" ബട്ടൺ ക്ലിക്ക് ചെയ്യുക, പട്ടിക സൃഷ്ടിക്കപ്പെടും.

ഘട്ടം 2: MySQL-ലേക്ക് ഡാറ്റ ചേർക്കുന്നതിന് PHP കോഡ് എഴുതുക.

ഓപ്ഷൻ 1 - MySQLi രീതി

ആദ്യം നിങ്ങൾ ഡാറ്റാബേസിലേക്ക് ഒരു കണക്ഷൻ സ്ഥാപിക്കേണ്ടതുണ്ട്. ഇതിനുശേഷം ഞങ്ങൾ SQL INSERT ചോദ്യം ഉപയോഗിക്കുന്നു. പൂർണ്ണ കോഡ് ഉദാഹരണം:

". mysqli_error($conn); ) mysqli_close($conn); ?>

കോഡിന്റെ ആദ്യ ഭാഗം (ലൈൻ 3 - 18) ഡാറ്റാബേസുമായി ബന്ധിപ്പിക്കാൻ ഉദ്ദേശിച്ചുള്ളതാണ്.

ലൈൻ നമ്പർ 19-ൽ നമുക്ക് ആരംഭിക്കാം:

$sql = "വിദ്യാർത്ഥികളിലേക്ക് തിരുകുക (പേര്, അവസാന നാമം, ഇമെയിൽ) മൂല്യങ്ങൾ ("തോം", "വിയൽ", " [ഇമെയിൽ പരിരക്ഷിതം]")";

ഇത് MySQL ഡാറ്റാബേസിലേക്ക് ഡാറ്റ ചേർക്കുന്നു. INSERT INTO എന്നത് ഒരു നിർദ്ദിഷ്ട പട്ടികയിലേക്ക് ഡാറ്റ ചേർക്കുന്ന ഒരു പ്രസ്താവനയാണ്. ഞങ്ങളുടെ ഉദാഹരണത്തിൽ, വിദ്യാർത്ഥികളുടെ പട്ടികയിലേക്ക് ഡാറ്റ ചേർത്തു.

അടുത്തത് മൂല്യങ്ങൾ ചേർത്ത നിരകളുടെ ഒരു ലിസ്റ്റ് ആണ്: പേര്, അവസാന നാമം, ഇമെയിൽ. നിർദ്ദിഷ്ട ക്രമത്തിൽ ഡാറ്റ ചേർക്കും. ഞങ്ങൾ എഴുതിയിരുന്നെങ്കിൽ (ഇമെയിൽ, അവസാന നാമം, പേര്), മൂല്യങ്ങൾ മറ്റൊരു ക്രമത്തിൽ ചേർക്കുമായിരുന്നു.

അടുത്ത ഭാഗം VALUES പ്രസ്താവനയാണ്. ഇവിടെ ഞങ്ങൾ നിരകൾക്കുള്ള മൂല്യങ്ങൾ വ്യക്തമാക്കുന്നു: പേര് = തോം, അവസാന നാമം = വിയൽ, ഇമെയിൽ = [ഇമെയിൽ പരിരക്ഷിതം].

PHP കോഡ് ഉപയോഗിച്ചാണ് ഞങ്ങൾ അഭ്യർത്ഥന നടത്തിയത്. പ്രോഗ്രാം കോഡിൽ, SQL അന്വേഷണങ്ങൾ ഉദ്ധരണികളോടെ ഒഴിവാക്കണം. ഞങ്ങളുടെ അഭ്യർത്ഥന വിജയിച്ചോ എന്ന് അടുത്ത കോഡ് (ലൈൻ 20-22) പരിശോധിക്കുന്നു:

എങ്കിൽ (mysqli_query($conn, $sql)) (എക്കോ "പുതിയ റെക്കോർഡ് വിജയകരമായി സൃഷ്ടിച്ചു"; )

അഭ്യർത്ഥന വിജയിച്ചുവെന്ന് സൂചിപ്പിക്കുന്ന ഒരു സന്ദേശം ഈ കോഡ് പ്രദർശിപ്പിക്കുന്നു.

അഭ്യർത്ഥന വിജയിച്ചില്ലെങ്കിൽ അവസാന ഭാഗം (ലൈൻ 22 - 24) ഒരു അറിയിപ്പ് പ്രദർശിപ്പിക്കുന്നു:

വേറെ (എക്കോ "പിശക്:" . $sql . "
". mysqli_error($conn); )

ഓപ്ഷൻ 2 - PHP ഡാറ്റ ഒബ്ജക്റ്റ് (PDO) രീതി

ആദ്യം നമ്മൾ ഒരു പുതിയ PDO ഒബ്‌ജക്റ്റ് സൃഷ്‌ടിച്ച് ഡാറ്റാബേസിലേക്ക് കണക്റ്റുചെയ്യേണ്ടതുണ്ട്. അതുമായി പ്രവർത്തിക്കുമ്പോൾ ഞങ്ങൾ വിവിധ PDO രീതികൾ ഉപയോഗിക്കും. ഒബ്ജക്റ്റ് രീതികളെ ഇനിപ്പറയുന്ന രീതിയിൽ വിളിക്കുന്നു:

$the_Object->The_Method();

SQL കോഡ് നടപ്പിലാക്കുന്നതിന് മുമ്പ് "തയ്യാറാക്കാൻ" PDO നിങ്ങളെ അനുവദിക്കുന്നു. പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് SQL അന്വേഷണം വിലയിരുത്തുകയും "തിരുത്തുകയും" ചെയ്യുന്നു. ഉദാഹരണത്തിന്, ഒരു ഫോം ഫീൽഡിൽ SQL കോഡ് നൽകിക്കൊണ്ട് ലളിതമായ ഒരു SQL കുത്തിവയ്പ്പ് ആക്രമണം നടത്താം. ഉദാഹരണത്തിന്:

ഇത് വാക്യഘടനാപരമായി ശരിയായ SQL ആയതിനാൽ, അർദ്ധവിരാമം DROP DATABASE user_table-നെ ഒരു പുതിയ SQL അന്വേഷണമാക്കി മാറ്റുകയും ഉപയോക്തൃ പട്ടിക ഡ്രോപ്പ് ചെയ്യുകയും ചെയ്യുന്നു. തയ്യാറാക്കിയ എക്സ്പ്രഷനുകൾ (ബൗണ്ട് വേരിയബിളുകൾ) യഥാർത്ഥ ചോദ്യം അവസാനിപ്പിക്കാൻ അർദ്ധവിരാമങ്ങളെയും ഉദ്ധരണികളെയും അനുവദിക്കുന്നില്ല.

തയ്യാറാക്കിയ എക്സ്പ്രഷനുകൾ ഉപയോഗിക്കുന്നതിന്, ഡാറ്റാബേസ് ഒബ്ജക്റ്റിന്റെ തയ്യാറാക്കൽ () രീതിയെ വിളിക്കുന്ന ഒരു പുതിയ വേരിയബിൾ നിങ്ങൾ എഴുതേണ്ടതുണ്ട്.

ശരിയായ കോഡ്:

getMessage(); ) // $first_Name = "Thom" എന്ന ഡാറ്റാബേസിലേക്ക് നമ്മൾ ചേർക്കാൻ ആഗ്രഹിക്കുന്ന വ്യക്തിക്ക് വേരിയബിളുകൾ സജ്ജമാക്കുക; $last_Name = "Vial"; $ഇമെയിൽ = " [ഇമെയിൽ പരിരക്ഷിതം]"; // ഡാറ്റാബേസ് ഒബ്‌ജക്റ്റിന്റെ തയ്യാറാക്കൽ() രീതിയെ വിളിക്കുന്ന ഒരു വേരിയബിൾ സൃഷ്‌ടിക്കുക // നിങ്ങൾ പ്രവർത്തിപ്പിക്കാൻ ആഗ്രഹിക്കുന്ന SQL അന്വേഷണം ഒരു പാരാമീറ്ററായി നൽകി, കൂടാതെ പ്ലെയ്‌സ്‌ഹോൾഡറുകൾ ഇതുപോലെ എഴുതിയിരിക്കുന്നു: placeholder_name $my_Insert_Statement = $my_Db_Connection->തയ്യാറുക(" വിദ്യാർത്ഥികളിലേക്ക് തിരുകുക (പേര്, അവസാന നാമം, ഇമെയിൽ) മൂല്യങ്ങൾ (:first_name, :last_name, :email)"); // bindParam() രീതി ഉപയോഗിക്കുന്നതിന് ഓരോ പ്ലെയ്‌സ്‌ഹോൾഡറിനെയും ഏത് വേരിയബിളാണ് സൂചിപ്പിക്കുന്നതെന്ന് ഞങ്ങൾ ഇപ്പോൾ സ്‌ക്രിപ്റ്റിനോട് പറയുന്നു // ആദ്യ പാരാമീറ്റർ ഇതാണ് മുകളിലെ പ്രസ്‌താവനയിലെ പ്ലെയ്‌സ്‌ഹോൾഡർ, രണ്ടാമത്തേത് $my_Insert_Statement->bindParam (:first_name, $first_Name); $my_Insert_Statement->bindParam(:last_name, $last_Name); $my_Insert_StataramP , $email); // ഞങ്ങൾ ഇപ്പോൾ നിർവചിച്ച ഡാറ്റ ഉപയോഗിച്ച് ചോദ്യം എക്സിക്യൂട്ട് ചെയ്യുക // എക്സിക്യൂട്ട് () രീതി വിജയകരമാണെങ്കിൽ TRUE എന്നും ഇല്ലെങ്കിൽ FALSE എന്നും നൽകുന്നു, നിങ്ങളുടേതായ if സന്ദേശം പ്രിന്റ് ചെയ്യാനുള്ള ഓപ്ഷൻ നൽകുന്നു ($my_Insert_Statement-> execute() ) (എക്കോ "പുതിയ റെക്കോർഡ് വിജയകരമായി സൃഷ്ടിച്ചു"; ) അല്ലെങ്കിൽ (എക്കോ "റെക്കോർഡ് സൃഷ്‌ടിക്കാനായില്ല"; ) // ഈ ഘട്ടത്തിൽ നിങ്ങൾക്ക് വേരിയബിൾ ഡാറ്റ മാറ്റാനും ഡാറ്റാബേസ് ഡാറ്റയിലേക്ക് കൂടുതൽ ഡാറ്റ ചേർക്കുന്നതിന് ഒരു അന്വേഷണം പ്രവർത്തിപ്പിക്കാനും $first_Name = "ജോൺ"; $last_Name = "സ്മിത്ത്"; $ഇമെയിൽ = " [ഇമെയിൽ പരിരക്ഷിതം];

28, 29, 30 വരികളിൽ ഞങ്ങൾ ഡാറ്റാബേസ് ഒബ്ജക്റ്റിന്റെ bindParam() രീതി ഉപയോഗിക്കുന്നു. ഒരു bindValue() രീതിയും ഉണ്ട്, അത് മുമ്പത്തേതിൽ നിന്ന് വളരെ വ്യത്യസ്തമാണ്.

  • bindParam() - എക്സിക്യൂട്ട് () രീതി എത്തുമ്പോൾ ഈ രീതി ഡാറ്റയെ വിലയിരുത്തുന്നു. സ്‌ക്രിപ്റ്റ് ആദ്യമായി എക്‌സിക്യൂട്ട്() രീതിയിലേക്ക് എത്തുമ്പോൾ, $first_Name "Thom" എന്നതുമായി പൊരുത്തപ്പെടുന്നതായി കാണുന്നു. തുടർന്ന് ഈ മൂല്യം ബന്ധിപ്പിച്ച് അഭ്യർത്ഥന പ്രവർത്തിപ്പിക്കുക. സ്ക്രിപ്റ്റ് രണ്ടാമത്തെ എക്സിക്യൂട്ട്() രീതിയിൽ എത്തുമ്പോൾ, $first_Name ഇപ്പോൾ "ജോൺ" എന്നതുമായി പൊരുത്തപ്പെടുന്നതായി കാണുന്നു. തുടർന്ന് അത് ഈ മൂല്യത്തെ ബന്ധിപ്പിക്കുകയും പുതിയ മൂല്യങ്ങൾ ഉപയോഗിച്ച് ചോദ്യം വീണ്ടും പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നു. ഞങ്ങൾ ഒരു ചോദ്യം ഒരിക്കൽ നിർവചിച്ചിട്ടുണ്ടെന്നും സ്ക്രിപ്റ്റിലെ വ്യത്യസ്ത പോയിന്റുകളിൽ വ്യത്യസ്ത ഡാറ്റ ഉപയോഗിച്ച് അത് വീണ്ടും ഉപയോഗിക്കുമെന്നും ഓർമ്മിക്കേണ്ടത് പ്രധാനമാണ്.
  • bindValue() - bindValue() എത്തിക്കഴിഞ്ഞാൽ ഈ രീതി ഡാറ്റയെ വിലയിരുത്തുന്നു. $first_Name "Thom" ആയി സജ്ജീകരിച്ചിരിക്കുന്നതിനാൽ, bindValue() എത്തുമ്പോൾ, $my_Insert_Statement-ൽ എക്സിക്യൂട്ട്() രീതി വിളിക്കുമ്പോഴെല്ലാം അത് ഉപയോഗിക്കും.
    ഞങ്ങൾ $first_Name വേരിയബിൾ വീണ്ടും ഉപയോഗിക്കുകയും രണ്ടാം തവണ അതിന് ഒരു പുതിയ മൂല്യം നൽകുകയും ചെയ്യുന്നു എന്നത് ശ്രദ്ധിക്കുക. സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിച്ചതിന് ശേഷം, രണ്ട് പേരുകളും ഡാറ്റാബേസിൽ ലിസ്റ്റ് ചെയ്യപ്പെടും, സ്ക്രിപ്റ്റിന്റെ അറ്റത്തുള്ള $first_Name വേരിയബിളിന് "John" എന്ന മൂല്യമുണ്ടെങ്കിലും. PHP പ്രവർത്തിക്കുന്നതിന് മുമ്പ് മുഴുവൻ സ്ക്രിപ്റ്റും പരിശോധിക്കുമെന്ന് ഓർമ്മിക്കുക.

bindParam-ന് പകരം bindValue ഉപയോഗിച്ച് സ്‌ക്രിപ്റ്റ് അപ്‌ഡേറ്റ് ചെയ്യുകയാണെങ്കിൽ, നിങ്ങൾ "Thom Vial" രണ്ട് തവണ ഡാറ്റാബേസിലേക്ക് തിരുകുകയും ജോൺ സ്മിത്ത് അവഗണിക്കപ്പെടുകയും ചെയ്യും.

ഘട്ടം 3 - വിജയം സ്ഥിരീകരിക്കുകയും പ്രശ്നങ്ങൾ പരിഹരിക്കുകയും ചെയ്യുക

ഡാറ്റാബേസിലേക്ക് വരികൾ ചേർക്കാനുള്ള അഭ്യർത്ഥന വിജയകരമാണെങ്കിൽ, ഞങ്ങൾ ഇനിപ്പറയുന്ന സന്ദേശം കാണും:

പൊതുവായ പിശകുകൾ പരിഹരിക്കുന്നു

MySQLi

മറ്റേതെങ്കിലും സാഹചര്യത്തിൽ, ഒരു പിശക് സന്ദേശം പ്രദർശിപ്പിക്കും. ഉദാഹരണത്തിന്, നമുക്ക് കോഡിൽ ഒരു വാക്യഘടന പിശക് വരുത്താം, നമുക്ക് ഇനിപ്പറയുന്നവ ലഭിക്കും:

കോഡിന്റെ ആദ്യ ഭാഗം ശരിയാണ്, കണക്ഷൻ വിജയകരമായി സ്ഥാപിച്ചു, പക്ഷേ SQL അന്വേഷണം പരാജയപ്പെട്ടു.

"പിശക്: വിദ്യാർത്ഥികളിലേക്ക് ചേർക്കുക (പേര്, അവസാന നാമം, ഇമെയിൽ) മൂല്യങ്ങൾ ("തോം", "വിയൽ", " [ഇമെയിൽ പരിരക്ഷിതം]") നിങ്ങളുടെ SQL വാക്യഘടനയിൽ നിങ്ങൾക്ക് ഒരു പിശക് ഉണ്ട്; "(പേര്, അവസാന നാമം, ഇമെയിൽ) മൂല്യങ്ങൾ ("തോം", "വിയൽ", " എന്നിവയ്ക്ക് സമീപം ഉപയോഗിക്കുന്നതിനുള്ള അവകാശ വാക്യഘടനയ്ക്കായി നിങ്ങളുടെ MySQL സെർവർ പതിപ്പുമായി പൊരുത്തപ്പെടുന്ന മാനുവൽ പരിശോധിക്കുക. [ഇമെയിൽ പരിരക്ഷിതം]")" വരി 1" ൽ

സ്ക്രിപ്റ്റ് തകരാറിലായ ഒരു വാക്യഘടന പിശക് സംഭവിച്ചു. പിശക് ഇവിടെയായിരുന്നു:

$sql = "വിദ്യാർത്ഥികളിലേക്ക് തിരുകുക (പേര്, അവസാന നാമം, ഇമെയിൽ) മൂല്യങ്ങൾ ("തോം", "വിയൽ", " [ഇമെയിൽ പരിരക്ഷിതം]")";

സാധാരണയുള്ളവയ്ക്ക് പകരം ഞങ്ങൾ ചുരുണ്ട ബ്രേസുകൾ ഉപയോഗിച്ചു. ഇത് തെറ്റാണ്, സ്ക്രിപ്റ്റ് ഒരു വാക്യഘടന പിശക് സൃഷ്ടിച്ചു.

പി.ഡി.ഒ

PDO കണക്ഷന്റെ വരി 7 "എല്ലാ ഒഴിവാക്കലുകളും പ്രദർശിപ്പിക്കുക" എന്ന പിശക് മോഡ് സജ്ജമാക്കുന്നു. മറ്റൊരു മൂല്യത്തിലേക്ക് സജ്ജീകരിച്ച് അഭ്യർത്ഥന പരാജയപ്പെട്ടാൽ, ഞങ്ങൾക്ക് പിശക് സന്ദേശങ്ങളൊന്നും ലഭിക്കില്ല.

ഒരു സ്ക്രിപ്റ്റ് വികസിപ്പിക്കുമ്പോൾ മാത്രമേ ഈ ക്രമീകരണം ഉപയോഗിക്കാവൂ. സജീവമാകുമ്പോൾ, സുരക്ഷാ കാരണങ്ങളാൽ ഏറ്റവും നന്നായി മറച്ചിരിക്കുന്ന ഡാറ്റാബേസ്, പട്ടിക നാമങ്ങൾ പ്രദർശിപ്പിച്ചേക്കാം. മുകളിൽ വിവരിച്ച സാഹചര്യത്തിൽ, സാധാരണ ബ്രേസുകൾക്ക് പകരം ചുരുണ്ട ബ്രേസുകൾ ഉപയോഗിക്കുമ്പോൾ, പിശക് സന്ദേശം ഇതുപോലെ കാണപ്പെടുന്നു:

മാരകമായ പിശക്: "SQLSTATE: വാക്യഘടന പിശക് അല്ലെങ്കിൽ പ്രവേശന ലംഘനം: 1064 നിങ്ങളുടെ SQL വാക്യഘടനയിൽ നിങ്ങൾക്ക് ഒരു പിശക് ഉണ്ട്; "(പേര്, അവസാന നാമം, ഇമെയിൽ) മൂല്യങ്ങൾ ("തോം", "വിയൽ", " എന്നിവയ്ക്ക് സമീപം ഉപയോഗിക്കുന്നതിന് റൈറ്റ് സിന്റാക്സിനായി നിങ്ങളുടെ MySQL സെർവർ പതിപ്പുമായി പൊരുത്തപ്പെടുന്ന മാനുവൽ പരിശോധിക്കുക [ഇമെയിൽ പരിരക്ഷിതം]")" വരി 1" ൽ

സാധ്യമായ മറ്റ് പ്രശ്നങ്ങൾ:

  • നിരകൾ തെറ്റായി വ്യക്തമാക്കിയിരിക്കുന്നു (നിലവിലില്ലാത്ത കോളങ്ങൾ അല്ലെങ്കിൽ തെറ്റായി എഴുതിയ കോളം പേരുകൾ).
  • ഒരു മൂല്യ തരം മറ്റൊരു തരത്തിന്റെ ഒരു നിരയിലേക്ക് അസൈൻ ചെയ്‌തിരിക്കുന്നു. ഉദാഹരണത്തിന്, നിങ്ങൾ പേര് കോളത്തിൽ 47 നമ്പർ ചേർക്കാൻ ശ്രമിക്കുകയാണെങ്കിൽ, നിങ്ങൾക്ക് ഒരു പിശക് ലഭിക്കും. ഈ കോളം ഒരു സ്ട്രിംഗ് മൂല്യം ഉപയോഗിക്കണം. എന്നാൽ ഞങ്ങൾ ഉദ്ധരണികളിൽ ഒരു നമ്പർ വ്യക്തമാക്കിയാൽ (ഉദാഹരണത്തിന്, "47") അത് പ്രവർത്തിക്കും, കാരണം അതൊരു സ്ട്രിംഗ് ആണ്.
  • നിലവിലില്ലാത്ത ഒരു പട്ടികയിലേക്ക് ഡാറ്റ നൽകാനുള്ള ശ്രമം നടത്തി. പട്ടികയുടെ പേരിൽ അക്ഷരത്തെറ്റും ഉണ്ടായിരുന്നു.

ഡാറ്റ വിജയകരമായി നൽകിയ ശേഷം, അത് ഡാറ്റാബേസിലേക്ക് ചേർത്തതായി നമുക്ക് കാണാം. ഡാറ്റ ചേർത്ത ഒരു പട്ടികയുടെ ഒരു ഉദാഹരണം ചുവടെയുണ്ട്.

ഉപസംഹാരം

ഈ ലേഖനത്തിൽ, MySQLi, PDO എന്നിവ ഉപയോഗിച്ച് MySQL ഡാറ്റാബേസിലേക്ക് ഡാറ്റ ചേർക്കുന്നതിന് PHP എങ്ങനെ ഉപയോഗിക്കാമെന്ന് ഞങ്ങൾ പങ്കിട്ടു. കൂടാതെ സാധാരണ തെറ്റുകൾ എങ്ങനെ ഇല്ലാതാക്കാം. പ്രോഗ്രാമിംഗ് പഠിക്കുമ്പോഴും നിങ്ങളുടെ സ്വന്തം വെബ്സൈറ്റ് വികസിപ്പിക്കുമ്പോഴും ഈ അറിവ് ഉപയോഗപ്രദമാകും.

ഈ പ്രസിദ്ധീകരണം "" എന്ന ലേഖനത്തിന്റെ വിവർത്തനമാണ് MySQL ഡാറ്റാബേസിലേക്ക് ഡാറ്റ ചേർക്കുന്നതിന് PHP എങ്ങനെ ഉപയോഗിക്കാം", സൗഹൃദ പദ്ധതി സംഘം തയ്യാറാക്കിയത്


പാഠം അടിസ്ഥാനമാക്കിയുള്ളതായിരിക്കും ഫീഡ്ബാക്ക് ഫോം, മിക്കവാറും എല്ലാ വെബ്‌സൈറ്റുകളിലും ആവശ്യമാണ്.

ഘട്ടം ഒന്ന്: ഒരു ഡാറ്റാബേസ് സൃഷ്ടിക്കുന്നു MySQL

തുറക്കുന്നു phpMyAdmin(അടിസ്ഥാന പാക്കേജിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട് ഡെൻവർ`a), കൂടാതെ " എന്ന പേരിൽ ഒരു ഡാറ്റാബേസ് സൃഷ്ടിക്കുക ടെസ്റ്റ്_ബേസ്", എൻകോഡിംഗ് തിരഞ്ഞെടുക്കുക" cp1251_general_ci".

ഘട്ടം രണ്ട്: ഒരു പട്ടിക സൃഷ്ടിക്കുന്നു MySQLഉപയോഗിച്ച് SQL അന്വേഷണം

നിങ്ങൾക്ക് തീർച്ചയായും, സാധാരണ ഉപകരണങ്ങൾ ഉപയോഗിച്ച് ഒരു പട്ടിക സൃഷ്ടിക്കാൻ കഴിയും phpMyAdmin, എന്നാൽ ഈ രീതിയിൽ സൃഷ്ടിക്കുന്ന പട്ടികയുടെ ഘടന വ്യക്തമായി ദൃശ്യമാകും.

"എന്ന പേരിൽ ഒരു പട്ടിക സൃഷ്ടിക്കുക ടെസ്റ്റ്_ടേബിൾ" കൂടാതെ പേരുള്ള ആറ് ഫീൽഡുകളുമുണ്ട്:
"name" - ഉപയോക്തൃനാമങ്ങൾ ഇവിടെ സൂക്ഷിക്കും;
"email" - ഉപയോക്തൃ ഇമെയിൽ വിലാസങ്ങൾ ഇവിടെ സംഭരിക്കും;
"തീം" - സന്ദേശത്തിന്റെ വിഷയം ഇവിടെ സംഭരിക്കും;
"സന്ദേശം" - സന്ദേശങ്ങൾ ഇവിടെ സൂക്ഷിക്കും;
"data" - സന്ദേശം അയച്ച തീയതി ഇവിടെ സംഭരിക്കും;
"id" - റെക്കോർഡിന്റെ തിരിച്ചറിയൽ നമ്പർ (ലൈൻ), കീ ഫീൽഡ്.

SQL ചോദ്യം:
പട്ടിക ഉണ്ടാക്കുക test_table(
id int(11) null auto_increment അല്ല,
പേര് varchar(255) അസാധുവല്ല,
ഇമെയിൽ varchar(255) അസാധുവല്ല,
തീം varchar(255) അസാധുവല്ല,
സന്ദേശ വാചകം അസാധുവല്ല,
ഡാറ്റ തീയതി അസാധുവല്ല,
പ്രാഥമിക കീ (ഐഡി)
);

ഘട്ടം മൂന്ന്: ഒരു ഫോം സൃഷ്ടിക്കുന്നു

index.html:

ഫോം MySQL-ൽ സംരക്ഷിച്ചു

MySQL-ൽ ഡാറ്റ സേവിംഗ് ഉള്ള ഒരു ഫോമിന്റെ ഉദാഹരണം

























ഒരു അഭ്യർത്ഥന അയയ്ക്കുന്നു
പേര്:
ഇമെയിൽ:
സന്ദേശത്തിൻ്റെ വിഷയം:
സന്ദേശം:


























ഘട്ടം നാല്: ഒരു ഫോം ഹാൻഡ്‌ലർ സൃഷ്ടിക്കുന്നു " save_form.php" സ്വീകരിച്ച ഡാറ്റ സംരക്ഷിക്കുന്നതിനൊപ്പം MySQL

save_form.php:





/* ഡാറ്റ സംഭരിക്കുന്ന MySQL പട്ടിക */
$table = "test_table";

/* ഒരു കണക്ഷൻ സൃഷ്ടിക്കുക */

/* നിലവിലെ തീയതി നിർണ്ണയിക്കുക */
$ cdate = തീയതി ("Y-m-d");

/* പട്ടികയിലേക്ക് വിവരങ്ങൾ തിരുകാൻ ഞങ്ങൾ ഒരു ചോദ്യം സൃഷ്ടിക്കുന്നു
പേര്... തീയതി - ഡാറ്റാബേസിലെ നിർദ്ദിഷ്ട ഫീൽഡുകളുടെ പേര്;
$_POST ൽ["test_name"]... $_POST["test_mess"] - ഈ വേരിയബിളുകളിൽ ഫോമിൽ നിന്ന് ലഭിച്ച ഡാറ്റ അടങ്ങിയിരിക്കുന്നു */
$query = "$ടേബിൾ സെറ്റ് നാമത്തിൽ ചേർക്കുക".$_POST["test_name"].", ഇമെയിൽ="".$_POST["test_mail"].",
theme="".$_POST["test_theme"].", message="".$_POST["test_mess"].", data="$cdate"";

/* കണക്ഷൻ അടയ്ക്കുക */
mysql_close();

/* സേവിംഗ് വിജയകരമാണെങ്കിൽ, ഒരു സന്ദേശവും റിട്ടേൺ ലിങ്കും പ്രദർശിപ്പിക്കുക */
പ്രതിധ്വനി ("


ഡാറ്റ വിജയകരമായി സംരക്ഷിച്ചു!



മടങ്ങിവരിക
");

ഘട്ടം അഞ്ച്: സംരക്ഷിച്ച ഡാറ്റ പ്രദർശിപ്പിക്കുന്നു" view_data.php"

view_data.php:

/* ഡാറ്റാബേസിലേക്ക് ബന്ധിപ്പിക്കുക */
$hostname = "localhost"; // സെർവർ പേര്/പാത്ത്, MySQL ഉള്ളത്
$ഉപയോക്തൃനാമം = "റൂട്ട്"; // ഉപയോക്തൃനാമം (ഡെൻവറിൽ സ്ഥിരസ്ഥിതി "റൂട്ട്" ആണ്)
$പാസ്വേഡ് = ""; // ഉപയോക്തൃ പാസ്‌വേഡ് (ഡെൻവറിൽ സ്ഥിരസ്ഥിതിയായി പാസ്‌വേഡ് ഇല്ല, ഈ പരാമീറ്റർ ശൂന്യമായി വയ്ക്കാം)
$dbName = "test_base"; // ഡാറ്റാബേസ് നാമം


$table = "test_table";

/* ഒരു കണക്ഷൻ സൃഷ്ടിക്കുക */
mysql_connect($hostname, $username, $password) അല്ലെങ്കിൽ ഡൈ("കണക്ഷൻ സൃഷ്ടിക്കാൻ കഴിയില്ല");

/* ഒരു ഡാറ്റാബേസ് തിരഞ്ഞെടുക്കുക. ഒരു പിശക് സംഭവിച്ചാൽ, അത് പ്രദർശിപ്പിക്കുക */
mysql_select_db($dbName) അല്ലെങ്കിൽ ഡൈ (mysql_error());

/* "പേര്", "ഇമെയിൽ", "തീം", എന്നീ ഫീൽഡുകളിൽ നിന്ന് ഡാറ്റ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിന് ഞങ്ങൾ ഒരു അന്വേഷണം സൃഷ്‌ടിക്കുന്നു.
"സന്ദേശം", "ഡാറ്റ" പട്ടികകൾ "ടെസ്റ്റ്_ടേബിൾ" */
$query = "$ടേബിളിൽ നിന്ന് ഐഡി, പേര്, ഇമെയിൽ, തീം, സന്ദേശം, ഡാറ്റ തിരഞ്ഞെടുക്കുക";

/* അഭ്യർത്ഥന നടപ്പിലാക്കുക. ഒരു പിശക് സംഭവിച്ചാൽ, അത് പ്രദർശിപ്പിക്കുക. */


പ്രതിധ്വനി ("

MySQL-ൽ നിന്നുള്ള ഡാറ്റ ഔട്ട്പുട്ട് ചെയ്യുന്നു

ഒരു MySQL പട്ടികയിൽ നിന്ന് മുമ്പ് സംരക്ഷിച്ച ഡാറ്റ ഔട്ട്പുട്ട് ചെയ്യുന്നു










");



പ്രതിധ്വനി "

\n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി " \n\n";
}

എക്കോ("

# അപേക്ഷയുടെ തീയതി ഉപയോക്തൃനാമങ്ങൾ ഉപയോക്താക്കളുടെ ഇമെയിൽ സന്ദേശത്തിൻ്റെ വിഷയം ഉപയോക്തൃ സന്ദേശങ്ങൾ
".$row["id"]."".$row["ഡാറ്റ"]."".$row["name"]."".$row["ഇമെയിൽ"]."".$row["തീം"]."".$row["സന്ദേശം"]."
\n");

/* കണക്ഷൻ അടയ്ക്കുക */
mysql_close();

ഘട്ടം ആറ്: ഡാറ്റാബേസിൽ നിന്ന് രേഖകൾ നീക്കംചെയ്യുന്നു" del_data.php"

del_data.php:

/* ഡാറ്റാബേസിലേക്ക് ബന്ധിപ്പിക്കുക */
$hostname = "localhost"; // സെർവർ പേര്/പാത്ത്, MySQL ഉള്ളത്
$ഉപയോക്തൃനാമം = "റൂട്ട്"; // ഉപയോക്തൃനാമം (ഡെൻവറിൽ സ്ഥിരസ്ഥിതി "റൂട്ട്" ആണ്)
$പാസ്വേഡ് = ""; // ഉപയോക്തൃ പാസ്‌വേഡ് (ഡെൻവറിൽ സ്ഥിരസ്ഥിതിയായി പാസ്‌വേഡ് ഇല്ല, ഈ പരാമീറ്റർ ശൂന്യമായി വയ്ക്കാം)
$dbName = "test_base"; // ഡാറ്റാബേസ് നാമം

/* ഡാറ്റ സംഭരിച്ചിരിക്കുന്ന MySQL പട്ടിക */
$table = "test_table";

/* ഒരു കണക്ഷൻ സൃഷ്ടിക്കുക */
mysql_connect($hostname, $username, $password) അല്ലെങ്കിൽ ഡൈ("കണക്ഷൻ സൃഷ്ടിക്കാൻ കഴിയില്ല");

/* ഒരു ഡാറ്റാബേസ് തിരഞ്ഞെടുക്കുക. ഒരു പിശക് സംഭവിച്ചാൽ, അത് പ്രദർശിപ്പിക്കുക */
mysql_select_db($dbName) അല്ലെങ്കിൽ ഡൈ (mysql_error());

/* ഡിലീറ്റ് ലിങ്ക് ക്ലിക്ക് ചെയ്തിട്ടുണ്ടെങ്കിൽ, എൻട്രി ഇല്ലാതാക്കുക */
$del = $query = "$ടേബിളിൽ നിന്ന് ഇല്ലാതാക്കുക എവിടെ (id="$del"");
/* അഭ്യർത്ഥന നടപ്പിലാക്കുക. ഒരു പിശക് സംഭവിച്ചാൽ, അത് പ്രദർശിപ്പിക്കുക. */
mysql_query($query) അല്ലെങ്കിൽ ഡൈ(mysql_error());



/* അഭ്യർത്ഥന നടപ്പിലാക്കുക. ഒരു പിശക് സംഭവിച്ചാൽ, അത് പ്രദർശിപ്പിക്കുക. */
$res = mysql_query($query) അല്ലെങ്കിൽ ഡൈ(mysql_error());

$റോ = mysql_num_rows($res);

/* പട്ടികയിൽ നിന്നുള്ള ഔട്ട്‌പുട്ട് ഡാറ്റ */
പ്രതിധ്വനി ("

MySQL-ൽ നിന്ന് ഡാറ്റ ഔട്ട്പുട്ട് ചെയ്യുകയും ഇല്ലാതാക്കുകയും ചെയ്യുന്നു

ഒരു MySQL പട്ടികയിൽ നിന്ന് മുമ്പ് സംരക്ഷിച്ച ഡാറ്റ ഔട്ട്പുട്ട് ചെയ്യുകയും ഇല്ലാതാക്കുകയും ചെയ്യുന്നു











");

/* നിർദ്ദിഷ്ട ഫീൽഡുകളുടെ ഡാറ്റാബേസിൽ നിന്ന് ഡാറ്റ ഔട്ട്പുട്ട് ചെയ്യുന്ന സൈക്കിൾ */
അതേസമയം ($റോ = mysql_fetch_array($res)) (
പ്രതിധ്വനി "

\n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി " \n";
/* ഒരു ഫീൽഡ് ഇല്ലാതാക്കാൻ ഒരു ലിങ്ക് സൃഷ്ടിക്കുക */
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി "\n";
}

എക്കോ("

# അപേക്ഷയുടെ തീയതി ഉപയോക്തൃനാമങ്ങൾ ഉപയോക്താക്കളുടെ ഇമെയിൽ സന്ദേശത്തിൻ്റെ വിഷയം ഉപയോക്തൃ സന്ദേശങ്ങൾ നീക്കം
".$row["id"]."".$row["ഡാറ്റ"]."".$row["name"]."".$row["ഇമെയിൽ"]."".$row["തീം"]."".$row["സന്ദേശം"]."ഇല്ലാതാക്കുക
\n");

/* കണക്ഷൻ അടയ്ക്കുക */
mysql_close();

ഘട്ടം ഏഴ്: ഡാറ്റാബേസിൽ റെക്കോർഡുകൾ എഡിറ്റ് ചെയ്യുകയും അപ്ഡേറ്റ് ചെയ്യുകയും ചെയ്യുന്നു " update_data.php"

update_data.php:

/* ഡാറ്റാബേസിലേക്ക് ബന്ധിപ്പിക്കുക */
$hostname = "localhost"; // സെർവർ പേര്/പാത്ത്, MySQL ഉള്ളത്
$ഉപയോക്തൃനാമം = "റൂട്ട്"; // ഉപയോക്തൃനാമം (ഡെൻവറിൽ സ്ഥിരസ്ഥിതി "റൂട്ട്" ആണ്)
$പാസ്വേഡ് = ""; // ഉപയോക്തൃ പാസ്‌വേഡ് (ഡെൻവറിൽ സ്ഥിരസ്ഥിതിയായി പാസ്‌വേഡ് ഇല്ല, ഈ പരാമീറ്റർ ശൂന്യമായി വയ്ക്കാം)
$dbName = "test_base"; // ഡാറ്റാബേസ് നാമം

/* ഡാറ്റ സംഭരിച്ചിരിക്കുന്ന MySQL പട്ടിക */
$table = "test_table";

/* ഒരു കണക്ഷൻ സൃഷ്ടിക്കുക */
mysql_connect($hostname, $username, $password) അല്ലെങ്കിൽ ഡൈ("കണക്ഷൻ സൃഷ്ടിക്കാൻ കഴിയില്ല");

/* ഒരു ഡാറ്റാബേസ് തിരഞ്ഞെടുക്കുക. ഒരു പിശക് സംഭവിച്ചാൽ, അത് പ്രദർശിപ്പിക്കുക */
mysql_select_db($dbName) അല്ലെങ്കിൽ ഡൈ (mysql_error());

/* എഡിറ്റ് ബട്ടൺ അമർത്തിയാൽ, മാറ്റങ്ങൾ വരുത്തുക */
എങ്കിൽ(@$submit_edit) (
$query = "$table SET നെയിം = "$test_name", ഇമെയിൽ = "$test_mail", തീം = "$test_theme", സന്ദേശം = "$test_mess" എവിടെ id="$update"" അപ്ഡേറ്റ് ചെയ്യുക;
/* അഭ്യർത്ഥന നടപ്പിലാക്കുക. ഒരു പിശക് സംഭവിച്ചാൽ, അത് പ്രദർശിപ്പിക്കുക. */
mysql_query($query) അല്ലെങ്കിൽ ഡൈ (mysql_error());
}

/* ഞങ്ങൾ മുഴുവൻ ഡാറ്റാബേസും $res വേരിയബിളിൽ ഇടുന്നു */
$query = "$ടേബിളിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക";
/* അഭ്യർത്ഥന നടപ്പിലാക്കുക. ഒരു പിശക് സംഭവിച്ചാൽ, അത് പ്രദർശിപ്പിക്കുക. */
$res = mysql_query($query) അല്ലെങ്കിൽ ഡൈ(mysql_error());
/* ഡാറ്റാബേസിലെ റെക്കോർഡുകളുടെ എണ്ണം കണ്ടെത്തുക */
$റോ = mysql_num_rows($res);

/* പട്ടികയിൽ നിന്നുള്ള ഔട്ട്‌പുട്ട് ഡാറ്റ */
പ്രതിധ്വനി ("

ഡാറ്റ എഡിറ്റ് ചെയ്യുകയും അപ്ഡേറ്റ് ചെയ്യുകയും ചെയ്യുന്നു

MySQL പട്ടികയിൽ ഡാറ്റ എഡിറ്റ് ചെയ്യുകയും അപ്‌ഡേറ്റ് ചെയ്യുകയും ചെയ്യുന്നു


");

/* നിർദ്ദിഷ്ട ഫീൽഡുകളുടെ ഡാറ്റാബേസിൽ നിന്ന് ഡാറ്റ ഔട്ട്പുട്ട് ചെയ്യുന്ന സൈക്കിൾ */
അതേസമയം ($റോ = mysql_fetch_array($res)) (
പ്രതിധ്വനി "

\n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി "\n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി "\n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി "\n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി "\n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി "\n";
പ്രതിധ്വനി " \n";
പ്രതിധ്വനി "
#".$row["id"]."
".$row["ഡാറ്റ"]."
ഉപയോക്തൃനാമം:
ഉപയോക്തൃ ഇമെയിൽ:
സന്ദേശത്തിൻ്റെ വിഷയം:
സന്ദേശം:
\n\n";
}

/* കണക്ഷൻ അടയ്ക്കുക */
mysql_close();

അത്രയേയുള്ളൂ, സന്തോഷകരമായ കോഡിംഗ്:1133:

_________________________________

ഈ ലേഖനത്തിൽ നമ്മൾ ഒരുപക്ഷേ ഏറ്റവും പ്രധാനപ്പെട്ട ചിലത് നോക്കും SQL അന്വേഷണങ്ങൾ. ഈ ഒരു ഡാറ്റാബേസ് പട്ടികയിൽ നിന്ന് രേഖകൾ ചേർക്കുന്നതിനും നീക്കം ചെയ്യുന്നതിനുമുള്ള അന്വേഷണങ്ങൾ. കാരണം പലപ്പോഴും നിങ്ങൾ ചെയ്യേണ്ടതുണ്ട് പട്ടികയിൽ പുതിയ റെക്കോർഡുകൾ ചേർക്കുക, കൂടാതെ ഇത് യാന്ത്രികമായി ചെയ്യുക, തുടർന്ന് ഈ മെറ്റീരിയൽ പഠിക്കേണ്ടതുണ്ട്.

ആരംഭിക്കാൻ ഒരു പട്ടികയിലേക്ക് ഒരു പുതിയ റെക്കോർഡ് ചേർക്കുന്നതിനുള്ള SQL അന്വേഷണം:

ഉപയോക്താക്കളിലേക്ക് തിരുകുക (ലോഗിൻ, പാസ്) മൂല്യങ്ങൾ ("ടെസ്റ്റ് യൂസർ", "123456")

ഒരു എൻട്രി ചേർക്കുമ്പോൾ, കമാൻഡ് " ഇൻസേർട്ട് ചെയ്യുക", തുടർന്ന് ഞങ്ങൾ റെക്കോർഡ് ചേർക്കുന്ന പട്ടികയുടെ പേര്. അടുത്തതായി പരാൻതീസിസിൽ നമ്മൾ പൂരിപ്പിക്കാൻ ആഗ്രഹിക്കുന്ന ഫീൽഡുകളുടെ പേരുകൾ വരുന്നു. തുടർന്ന് വാക്കിന് ശേഷം പരാൻതീസിസിൽ " മൂല്യങ്ങൾ"ഞങ്ങൾ തിരഞ്ഞെടുത്ത ഫീൽഡുകളുടെ മൂല്യങ്ങൾ ഞങ്ങൾ പട്ടികപ്പെടുത്താൻ തുടങ്ങുന്നു. ഈ ചോദ്യം എക്സിക്യൂട്ട് ചെയ്ത ശേഷം, ഞങ്ങളുടെ പട്ടികയിൽ ഒരു പുതിയ എൻട്രി ദൃശ്യമാകും.

ചിലപ്പോൾ ആവശ്യമാണ് പട്ടിക എൻട്രി അപ്ഡേറ്റ് ചെയ്യുക, ഇതിനായി താഴെപ്പറയുന്നവയുണ്ട് SQL അന്വേഷണം:

ഉപയോക്താക്കളെ അപ്‌ഡേറ്റ് ചെയ്യുക ലോഗിൻ സജ്ജമാക്കുക = "TestUser2", pass="1234560" എവിടെ ലോഗിൻ="TestUser"

ഈ ചോദ്യം കൂടുതൽ സങ്കീർണ്ണമാണ്, കാരണം ഇതിന് നിർമ്മാണമുണ്ട് " എവിടെ", എന്നാൽ അതിനെക്കുറിച്ച് കൂടുതൽ താഴെ. ആദ്യം കമാൻഡ് വരുന്നു " അപ്ഡേറ്റ് ചെയ്യുക", പിന്നെ പട്ടികയുടെ പേര്, അതിനു ശേഷം" സജ്ജമാക്കുക"ഞങ്ങൾ മാറ്റാൻ ആഗ്രഹിക്കുന്ന എല്ലാ ഫീൽഡുകളുടെയും മൂല്യങ്ങൾ ഞങ്ങൾ വിവരിക്കുന്നു. ഇത് ലളിതമായിരിക്കും, പക്ഷേ ചോദ്യം ഉയർന്നുവരുന്നു: " ഏത് റെക്കോർഡ് അപ്ഡേറ്റ് ചെയ്യണം?". അതുകൊണ്ടാണ് അവിടെ" എവിടെ". ഈ സാഹചര്യത്തിൽ, ഞങ്ങൾ റെക്കോർഡ്, ഫീൽഡ് അപ്ഡേറ്റ് ചെയ്യുന്നു " ലോഗിൻ"ഏതാണ് പ്രധാനം" ടെസ്റ്റ് യൂസർ". അത്തരം നിരവധി രേഖകൾ ഉണ്ടെങ്കിൽ ദയവായി ശ്രദ്ധിക്കുക തീർച്ചയായും എല്ലാം അപ്ഡേറ്റ് ചെയ്യും! ഇത് മനസിലാക്കേണ്ടത് വളരെ പ്രധാനമാണ്, അല്ലാത്തപക്ഷം നിങ്ങളുടെ ടേബിൾ നഷ്‌ടപ്പെടാൻ സാധ്യതയുണ്ട്.

നമുക്ക് കുറച്ചുകൂടി സംസാരിക്കാം " എവിടെ". ലളിതമായ സമത്വ പരിശോധനകൾക്ക് പുറമേ, അസമത്വങ്ങളും ലോജിക്കൽ പ്രവർത്തനങ്ങളും ഉണ്ട്: ഒപ്പംഒപ്പം അഥവാ.

ഉപയോക്താക്കളെ അപ്‌ഡേറ്റ് ചെയ്യുക ലോഗിൻ സജ്ജമാക്കുക = "TestUser2", pass="1234560" ഐഡി എവിടെയാണ്< 15 AND login="TestUser"

ദി SQL അന്വേഷണംആ രേഖകൾ അപ്ഡേറ്റ് ചെയ്യും, ഐഡിഅതിൽ കുറവാണ് 15 ഒപ്പംഫീൽഡ് " ലോഗിൻ"അർത്ഥമുണ്ട്" ടെസ്റ്റ് യൂസർ"നിങ്ങൾ ഡിസൈൻ മനസ്സിലാക്കിയെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു" എവിടെ"കാരണം അത് വളരെ പ്രധാനമാണ്. കൃത്യമായി" എവിടെ"എപ്പോൾ ഉപയോഗിച്ചു പട്ടികകളിൽ നിന്ന് റെക്കോർഡുകൾ എടുക്കുന്നു, ഡാറ്റാബേസുകളിൽ പ്രവർത്തിക്കുമ്പോൾ ഏറ്റവും കൂടുതൽ ഉപയോഗിക്കുന്ന ടാസ്ക്ക് ഇതാണ്.

ഒടുവിൽ, ലളിതവും ഒരു പട്ടികയിൽ നിന്ന് റെക്കോർഡുകൾ ഇല്ലാതാക്കാനുള്ള SQL അന്വേഷണം:

ലോഗിൻ="TestUser2" എവിടെ ഉപയോക്താക്കളിൽ നിന്ന് ഇല്ലാതാക്കുക

കമാൻഡിന് ശേഷം " നിന്ന് ഇല്ലാതാക്കുക" എന്നത് നിങ്ങൾ റെക്കോർഡുകൾ ഇല്ലാതാക്കാൻ ആഗ്രഹിക്കുന്ന പട്ടികയുടെ പേരാണ്. അടുത്തതായി ഞങ്ങൾ "WHERE" നിർമ്മാണം വിവരിക്കുന്നു. വിവരിച്ചിരിക്കുന്ന വ്യവസ്ഥകൾ റെക്കോർഡ് പാലിക്കുകയാണെങ്കിൽ, അത് ഇല്ലാതാക്കപ്പെടും. വീണ്ടും ശ്രദ്ധിക്കുക, തൃപ്തിപ്പെടുത്തുന്ന റെക്കോർഡുകളുടെ എണ്ണം അനുസരിച്ച് അതിനു ശേഷമുള്ള അവസ്ഥ " എവിടെ", അവയിൽ എത്ര വേണമെങ്കിലും ഇല്ലാതാക്കാം.