فوریه 21, 2019 Mostafa بدون دیدگاه

اگر دنبال برنامه نویس برای ساخت افزونه ،قالب،سایت،برنامه ویندوز،اپلیکیشین اندروید،ربات تلگرام و.... هستید ،سفارش برنامه نویسی را مطالعه نمایید.

توجه : درخواست افزونه ،قالب، اسکریپت و نرم افزار و ... و سوالات و مشکلات خود را در انجمن ارسال نمایید

معرفی MYSQL (مای اس کیو ال) در PHP

با استفاده از PHP میتوانید به پایگاه داده دسترسی داشته باشید و اطلاعاتی که میخواهید را تغییر دهید. مای اس کیو ال یکی از معروف ترین سیستم های پایگاه داده است که با پی اچ پی کار میکند.

MYSQL چیست؟

MYSQL یک سیستم پایگاه داده که در وب قابل استفاده است.

MYSQL یک سیستم پایگاه داده که قابل اجرا بر روی سرور است.

MYSQL برای برنامه های بزرگ و کوچک بسیار ایده آل است.

MYSQL سریع، قابل اعتماد و استفاده از ان بسیار راحت است.

MYSQL از استاندارد های SQL پشتیبانی میکند.

MYSQL بر روی تعداد زیادی از سیستم عامل ها کار میکند.

MYSQL میتوان به صورت رایگان دانلود کرد.

MYSQL توسط شرکت اوراکل توزیع شده و پشتیبانی میشود.

داده ها در MYSQL در یک جدول ذخیره میشود. جدول شامل داده های مرتبط به هم است که در سطر و ستون ها به صورت منظم قرار گرفته اند.

پایگاه داده برای ذخیره اطلاعات بسیار مناسب است. یک شرکت معمولا دارای پایگاه های داده زیر هستند:

  • کارکنان
  • مشتریان
  • محصولات
  • سفارش ها

 Queries چیست؟

Queries یک سوال یا یک درخواست است. میتوان یک پایگاه داده به صورت کوئری داشت که با استفاده از آن اطلاعات خاص و رکورد ها را بازگردانی کرد.

به Querie زیر نگاه کنید:

SELECT LastName FROM Employees

 

کوئری ها از استاندارهای SQL پیروی میکنند. این Querie نوشته شده تمام اطلاعات را از ستون  “last name”،  جدول کارکنان را جمع آوری میکند.

ارتباط با سرور MYSQL

قبل از دسترسی به پایگاه داده باید ارتباط  با سرورMYSQL ایجاد کرد. برای ایجاد ارتباط با سرور MYSQL از کد های PHP و در حقیقت تابع ()mysqli_connect استفاده میشود.

نحوه نوشتن ارتباط با سرور MYSQL

این تابع شامل بخش های مختلفی است که نوشتن همه آن ها به صورت اختیاری است. در این بخش به معرفی مهمترین این بخش های میپردازیم.

mysqli_connect(host,username,password,dbname);

 

پارامتر

توضیحات

هاست

نوشتن  آن اختیاری است. چه نام هاست و یا IP

نام کاربری

نوشتن آن اختیاری است. نام کاربری در MYSQL

کلمه عبور

نوشتن آن اختیاری است.

dbname

نوشتن آن اختیاری است. به طور پیش فرض نامی برایش ساخته میشود.

در مثال زیر ارتباط را در متغیر con$ ذخیره میکنیم تا در آینده در نوشتن اسکریپت ها از آن استفاده کنیم:

<?php
// Create connection
$con=mysqli_connect("example.com","peter","abc123","my_db");
 
// Check connection
if (mysqli_connect_errno($con))
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
?>

 

متغیر con$ را تعریف کردیم و با استفاده از تابع ()mysqli_connect ارتباط با سرور برقرار شده است. حال باید این ارتباط مورد بررسی قرار گیرد که هیچ خطایی نداشته باشد. تابع ()mysqli_connect_errno آخرین کد خطایی را که تابع ()mysqli_connect دارد را نمایش میدهد.

بستن ارتباط

به صورت خود کار این ارتباط در پایان اجرای اسکریپت های پی اچ پی پایان می یابد اما اگر بخواهید خودتان این ارتباط را زود تر ببندید از تابع ()mysqli_close میتوانید استفاده کنید. به مثال زیر دقت کنید. این مثال همان شرایط مثال قبل را داراست با این تفاوت که قبل از پایان تابع این ارتباط بسته میشود.

<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
 
// Check connection
if (mysqli_connect_errno($con))
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
 
mysqli_close($con);
?>

 

دستور insert into

از دستور insert into برای اضافه کردن اطلاعات جدید در جدول پایگاه داده استفاده میشود. این دستور هم همانند دستور هایی دیگری که  آموزش دادیم دارای یک سری قوانین برای نوشتن آن در PHP است.

نحوه نوشتن دستور insert into

میتوان دستور insert into را به دو صورت نوشت.

روش اول:

در این روش نمیتوان نام یک ستون خاص که درآن اطلاعات مورد نظر نوشته شده را به جدول پایگاه داده اضافه کرد، تنها میتوان مقادیر و ارزش های داده های مورد نظر را به صورت تک تک وارد نمود.

INSERT INTO table_name
VALUES (value1, value2, value3,...)

 

روش دوم:

در این روش میتوان نام ستون ها و ارزش هر بخش را وارد نمود

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)

 

همانند تمام بخش های پایگاه داده، از تابع ()mysqli_query  برای اجرا شدن PHP استفاده میکنیم. این تابع query یا کامنت ها به پایگاه داده ارسال میکند.

در درس قبل یک جدول به نام “Persons” با سه ستون “نام” ، “نام خانوادگی” و “سن” ایجاد کردیم. در این درس از همان جدول استفاده میکنیم و میخواهیم دو رکورد جدید به آن اضافه کنیم.

<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
 
mysqli_query($con,"INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Peter', 'Griffin',35)");
 
mysqli_query($con,"INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Glenn', 'Quagmire',33)");
 
mysqli_close($con);
?>

 

همان طور که در مثال مشاهده می کنید، اطلاعات دو نفر به نام های Peter و Glenn اضافه نمودیم. در این مثال از روش اول وارد کردن اطلاعات استفاده کرده و تمام اطلاعات را به صورت دستی وارد نموده ایم.

حال میخواهیم از روش دوم برای وارد کردن اطلاعات در جدول پایگاه داده استفاده کنیم. برای این کار نیازمند داشتن ستون و اطلاعات درون ان هستیم. به همین دلیل یک فرم HTML همانند فرم هایی که در مباحث فرم ایجاد کرده بودیم، میسازیم.

فرم HTML:

<html>
<body>
 
<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname">
Lastname: <input type="text" name="lastname">
Age: <input type="text" name="age">
<input type="submit">
</form>
 
</body>
</html>

 

در  مثال زیر هنگامی که کابر دکمه ارسال را میزند اطلاعات درون فرم به بخش insert.php  فرستاده میشود، سپس به پایگاه داده ارتباط پیدا میکند و ارزش ها را که در متغیر post-$ نوشته شده است را بررسی میکند.

تابع ()mysqli_query هر آنچه که در دستور insert into نوشته میشود را اجرا کرده و رکورد های جدید را به جدول “Persons” اضافه میکند.

<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
 
$sql="INSERT INTO Persons (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
 
if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added";
 
mysqli_close($con);
?>

 


برچسب ها