WeCreativez WhatsApp Support
Our customer support team is here to answer your questions. Ask us anything!
Hi, how can I help?

آموزش برقراری ارتباط PHP و MySQL

آموزش برقراری ارتباط PHP و MySQL

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

 

– ایجاد ارتباط با سرور پایگاه داده MySQL

  • 1 mysqli_connect(host,username,password,dbname);

کد بالا حالت کلی (Syntax) تابع را نمایش میدهد که به صورت زیر در کدنویسی استفاده میشود:

  • 1 <?php
  • 2 // Create connection
  • 3 $con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
  • 4
  • 5 // Check connection
  • 6 if (mysqli_connect_errno($con))
  • 7 {
  • 8 echo “Failed to connect to MySQL: “ . mysqli_connect_error();
  • 9 }
  • 10 ?>

بهتر است برای سازگاری با زبان فارسی کد زیر را بعد از اتصال موفق به دیتابیس وارد کنید

  • 1 //change character set to utf8
  • 2 mysqli_set_charset($con, “utf8”)

برای قطع ارتباط نیز از تابع زیر استفاده میکنیم:

  • 1 mysqli_close($con);

 

– ایجاد پایگاه داده MySQL

بعد از ایجاد ارتباط با سرور پایگاه داده  در صورتی که پایگاه داده وجود ندارد باید آن را بسازیم.  دستورات MySQL در PHP معمولا به صورت رشته ای در متغییری ذخیره میشود که این رشته از دستورات را کوئری (Query) مینامیم، برای مثال:

  • 1 SELECT LastName FROM Employees

کد زیر نحوه ساخت یک پایگاه داده را توسط کدهای PHP نمایش میدهد.

  • 1 <?php
  • 2 $con=mysqli_connect(“example.com”,“peter”,“abc123”);
  • 3 // Check connection
  • 4 if (mysqli_connect_errno())
  • 5 {
  • 6 echo “Failed to connect to MySQL: “ . mysqli_connect_error();
  • 7 }
  • 8
  • 9 // Create database
  • 10 $sql=“CREATE DATABASE my_db”;
  • 11 if (mysqli_query($con,$sql))
  • 12 {
  • 13 echo “Database my_db created successfully”;
  • 14 }
  • 15 else
  • 16 {
  • 17 echo “Error creating database: “ . mysqli_error($con);
  • 18 }
  • 19 ?>

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

اگر میخواهید دیتابیس شما با کاراکترهای فارسی مشکلی نداشته باشد بهتر است از کوئری زیر استفاده کنید.

  • 1 CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

 

– ایجاد جدول در پایگاه داده MySQL

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

  • 1 <?php
  • 2 $con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
  • 3 // Check connection
  • 4 if (mysqli_connect_errno())
  • 5 {
  • 6 echo “Failed to connect to MySQL: “ . mysqli_connect_error();
  • 7 }
  • 8
  • 9 // Create table
  • 10 $sql=“CREATE TABLE persons(FirstName CHAR(30),LastName CHAR(30),Age INT)”;
  • 11
  • 12 // Execute query
  • 13 if (mysqli_query($con,$sql))
  • 14 {
  • 15 echo “Table persons created successfully”;
  • 16 }
  • 17 else
  • 18 {
  • 19 echo “Error creating table: “ . mysqli_error($con);
  • 20 }
  • 21 ?>

برای تعیین کلید اصلی و خاصیت افزایش خودکار، هنگام ایجاد جدول به صورت زیر عمل میکنیم:

  • 1 $sql = “CREATE TABLE Persons
  • 2 (
  • 3 PID INT NOT NULL AUTO_INCREMENT,
  • 4 PRIMARY KEY(PID),
  • 5 FirstName CHAR(15),
  • 6 LastName CHAR(15),
  • 7 Age INT
  • 8 )“;

عبارت AUTO_INCREMENT بیانگر خاصیت افزایش خودکار محتوای فیلد در ستون مربوطه  است. برای مثال شماره id کاربران عضو در سایت. PRIMARY KEY برای تعیین فیلد اصلی و یکتای داده ذخیره شده است به این معنی که داده ها به صورت سطر به سطر در جدول پایگاه داده ذخیره میشوند و هر سطر دارای فیلد خاصی است که منحصر به فرد بوده و برای شناسایی آن داده به کار میرود.

 

– ذخیره داده ها در پایگاه داده MySQL

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

  • 1 INSERT INTO table_name (column1, column2, column3,…)
  • 2 VALUES (value1, value2, value3,…)

کد بالا حالت کلی این دستور را نشان میدهد و برای درک بهتر دستور میتوانید مثال زیر را بررسی کنید:

  • 1 <?php
  • 2 $con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
  • 3 // Check connection
  • 4 if (mysqli_connect_errno())
  • 5 {
  • 6 echo “Failed to connect to MySQL: “ . mysqli_connect_error();
  • 7 }
  • 8
  • 9 mysqli_query($con,“INSERT INTO Persons (FirstName, LastName, Age)
  • 10 VALUES (‘Peter’, ‘Griffin’,35)”);
  • 11
  • 12 mysqli_query($con,“INSERT INTO Persons (FirstName, LastName, Age)
  • 13 VALUES (‘Glenn’, ‘Quagmire’,33)”);
  • 14
  • 15 mysqli_close($con);

در کد بالا نام و نام خانوادگی و سن کاربر به ترتیب در فیلدهای Age , LastName , FristName ذخیره میشود.

– ذخیره  داده ها از فرم در پایگاه داده MySQL

نمونه فرم در صفحه HTML:

  • 1 <html>
  • 2 <body>
  • 3
  • 4 <form action=“insert.php” method=“post”>
  • 5 Firstname: <input type=“text” name=“firstname”>
  • 6 Lastname: <input type=“text” name=“lastname”>
  • 7 Age: <input type=“text” name=“age”>
  • 8 <input type=“submit”>
  • 9 </form>
  • 10
  • 11 </body>
  • 12 </html>

اطلاعات کد بالا بعد از کلیک بر روی  Submit به فایل insert.php فرستاده میشوند تا در آنجا پردازش شده و در پایگاه داده ذخیره شوند. کدهای مربوط به ذخیره داده ها در پایگاه داده که در فایل insert.php در کنار فایل Html مربوط به فرمها نوشته میشود به صورت زیر است:

  • 1 <?php
  • 2 $con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
  • 3 // Check connection
  • 4 if (mysqli_connect_errno())
  • 5 {
  • 6 echo “Failed to connect to MySQL: “ . mysqli_connect_error();
  • 7 }
  • 8
  • 9 $sql=“INSERT INTO Persons (FirstName, LastName, Age)
  • 10 VALUES
  • 11 (‘$_POST[firstname]’,’$_POST[lastname]’,’$_POST[age]’)”;
  • 12
  • 13 if (!mysqli_query($con,$sql))
  • 14 {
  • 15 die(‘Error: ‘ . mysqli_error($con));
  • 16 }
  • 17 echo “1 record added”;
  • 18
  • 19 mysqli_close($con);

 

– انتخاب داده ها از پایگاه داده MySQL و خواندن اطلاعات

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

  • 1 SELECT column_name(s)
  • 2 FROM table_name

کد بالا حالت کلی این دستور را نشان میدهد ، کد بالا داده های ستون column_name را از جدول table_name بازخوانی میکند.برای درک بهتر دستور به مثال زیر دقت کنید:

  • 1 <?php
  • 2 $con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
  • 3 // Check connection
  • 4 if (mysqli_connect_errno())
  • 5 {
  • 6 echo “Failed to connect to MySQL: “ . mysqli_connect_error();
  • 7 }
  • 8
  • 9 $result = mysqli_query($con,“SELECT * FROM Persons”);
  • 10
  • 11 while($row = mysqli_fetch_array($result))
  • 12 {
  • 13 echo $row[‘FirstName’] . ” “ . $row[‘LastName’];
  • 14 echo “<br>”;
  • 15 }
  • 16
  • 17 mysqli_close($con);
  • 18 ?>

 

– نمایش اطلاعات پایگاه داده MySQL در یک جدول Html

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

  • 1 <?php
  • 2 $con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
  • 3 // Check connection
  • 4 if (mysqli_connect_errno())
  • 5 {
  • 6 echo “Failed to connect to MySQL: “ . mysqli_connect_error();
  • 7 }
  • 8
  • 9 $result = mysqli_query($con,“SELECT * FROM Persons”);
  • 10
  • 11 echo “<table border=’1′>
  • 12 <tr>
  • 13 <th>Firstname</th>
  • 14 <th>Lastname</th>
  • 15 </tr>”;
  • 16
  • 17 while($row = mysqli_fetch_array($result))
  • 18 {
  • 19 echo “<tr>”;
  • 20 echo “<td>” . $row[‘FirstName’] . “</td>”;
  • 21 echo “<td>” . $row[‘LastName’] . “</td>”;
  • 22 echo “</tr>”;
  • 23 }
  • 24 echo “</table>”;
  • 25
  • 26 mysqli_close($con);
  • 27 ?>

 

 – ایجاد شرط در هنگام خواندن اطلاعات از جدول پایگاه داده MySQL

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

  • 1 SELECT column_name(s)
  • 2 FROM table_name
  • 3 WHERE column_name operator value

برای درک بهتر کد بالا مثال زیر را بررسی کنید:

  • 1 <?php
  • 2 $con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
  • 3 // Check connection
  • 4 if (mysqli_connect_errno())
  • 5 {
  • 6 echo “Failed to connect to MySQL: “ . mysqli_connect_error();
  • 7 }
  • 8
  • 9 $result = mysqli_query($con,“SELECT * FROM Persons
  • 10 WHERE FirstName=’Peter'”);
  • 11
  • 12 while($row = mysqli_fetch_array($result))
  • 13 {
  • 14 echo $row[‘FirstName’] . ” “ . $row[‘LastName’];
  • 15 echo “<br>”;
  • 16 }
  • 17 ?>

 

– مرتب سازی خروجی پایگاه داده MySQL

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

  • 1 SELECT column_name(s)
  • 2 FROM table_name
  • 3 ORDER BY column_name(s) ASC|DESC

و برای مثال استفاده به کد زیر نگاه کنید:

  • 1 <?php
  • 2 $con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
  • 3 // Check connection
  • 4 if (mysqli_connect_errno())
  • 5 {
  • 6 echo “Failed to connect to MySQL: “ . mysqli_connect_error();
  • 7 }
  • 8
  • 9 $result = mysqli_query($con,“SELECT * FROM Persons ORDER BY age”);
  • 10
  • 11 while($row = mysqli_fetch_array($result))
  • 12 {
  • 13 echo $row[‘FirstName’];
  • 14 echo ” “ . $row[‘LastName’];
  • 15 echo ” “ . $row[‘Age’];
  • 16 echo “<br>”;
  • 17 }
  • 18
  • 19 mysqli_close($con);
  • 20 ?>

مرتب سازی بر اساس دو ستون:

  • 1 SELECT column_name(s)
  • 2 FROM table_name
  • 3 ORDER BY column1, column2

– بروز رسانی پایگاه داده

برای تغییر دادن داده های ذخیره شده در جدول به کار میرود:

  • 1 UPDATE table_name
  • 2 SET column1=value, column2=value2,…
  • 3 WHERE some_column=some_value

مثال:

  • 1 <?php
  • 2 $con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
  • 3 // Check connection
  • 4 if (mysqli_connect_errno())
  • 5 {
  • 6 echo “Failed to connect to MySQL: “ . mysqli_connect_error();
  • 7 }
  • 8
  • 9 mysqli_query($con,“UPDATE Persons SET Age=36
  • 10 WHERE FirstName=’Peter’ AND LastName=’Griffin'”);
  • 11
  • 12 mysqli_close($con);
  • 13 ?>

 

– حذف داده ها از پایگاه داده MySQL

برای حذف کردن سطر داده ها از جدول به کار میرود:

  • 1 DELETE FROM table_name
  • 2 WHERE some_column = some_value

مثال:

  • 1 <?php
  • 2 $con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
  • 3 // Check connection
  • 4 if (mysqli_connect_errno())
  • 5 {
  • 6 echo “Failed to connect to MySQL: “ . mysqli_connect_error();
  • 7 }
  • 8
  • 9 mysqli_query($con,“DELETE FROM Persons WHERE LastName=’Griffin'”);
  • 10
  • 11 mysqli_close($con);
  • 12 ?>

منبع

https://daskhat.ir/how-to-connect-php-mysql/

این اعلان را به اشتراک گذارید

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *