جلسه شانزدهم PHP: آموزش کامل زبان برنامه نویسی پی اچ پی مقدماتی تا پیشرفته
در این مقاله از کدپز با جلسه شانزدهم PHP که با موضوع ایجاد پایگاه داده MySQL می باشد، در خدمت شما هستیم.
در قسمت قبل در جلسه پانزدهم PHP اتصال پی اچ پی به MySQL را با دو روش توضیح دادیم. و جزییات هر دو روش را بررسی کردیم.
در پایان این جلسه:
نحوه ی ایجاد یک پایگاه داده MySQL با دو روش PDO و mysqli را آموزش خواهیم داد.
و البته که شما نیز در پایان، توانایی ایجاد جدول جدید در MySQL را نیز خواهیم داشت.
با ما همراه باشید.
ایجاد پایگاه داده MySQL با استفاده از MySQLi و PDO
از دستور CREATE DATABASE برای ایجاد یک پایگاه داده در MySQL استفاده می شود.
مثال زیر با روش ( شی گرایی ) mysqli یک دیتابیس به نام myDB را می سازد.
به مثال زیر از جلسه شانزدهم PHP توجه فرمایید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; // Create connection $conn = new mysqli($servername, $username, $password); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // Create database $sql = "CREATE DATABASE myDB"; if ($conn->query($sql) === TRUE) { echo "Database created successfully"; } else { echo "Error creating database: " . $conn->error; } $conn->close(); ?> |
مثال زیر از جلسه شانزدهم PHP با روش ( رویه ایی ) mysqli یک دیتابیس به نام myDB را می سازد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; // Create connection $conn = mysqli_connect($servername, $username, $password); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // Create database $sql = "CREATE DATABASE myDB"; if (mysqli_query($conn, $sql)) { echo "Database created successfully"; } else { echo "Error creating database: " . mysqli_error($conn); } mysqli_close($conn); ?> |
مثال زیر از جلسه شانزدهم PHP با روش PDO یک دیتابیس به نام myDBPDO را می سازد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; try { $conn = new PDO("mysql:host=$servername", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "CREATE DATABASE myDBPDO"; // use exec() because no results are returned $conn->exec($sql); echo "Database created successfully<br>"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?> |
یکی از مهم ترین مزایای استفاده از روش PDO در ایجاد پایگاه داده MySQL این است که روش PDO دارای یک کلاس exception class خاص جهت مدیریت خطاهای احتمالی رخ داده در دستورات database query است. اگر یک خطا یا exception جدید در ساختار try{} رخ دهد، اجرای کدها کاملا متوقف خواهند شد و برای ادامه کار به بخش Catch{} می رود.
اما در ادامه جلسه شانزدهم PHP به دومین مبحث می پردازیم.
ایجاد جداول جدید در MySQL
جدول پایگاه داده (database table)، دارای نام منحصر به فرد می باشند و شامل ستون ها (columns) و ردیف ها (rows) هستند.
ایجاد یک جدول MySQL با استفاده از MySQLi و PDO
از عبارت CREAT TABLE برای ساختن جداول در MySQL استفاده میکنیم.
ما یک جدول با نام MyGuests ایجاد خواهیم کرد که دارای پنج ستون است: ‘id’، ‘firstname’، ‘lastname’،’email’ و ‘ reg_date :
به قطعه دستور زیر از جلسه شانزدهم PHP توجه نمایید.
1 2 3 4 5 6 7 8 |
CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP ) |
نکاتی از قطعه کد بالا:
data type نوع داده ایی که هر ستون می تواند در خود نگه دارد، را مشخص می کند. برای این که با انواع مختلفی نوع داده آشنا شوید می توانید به سایت w3schools نیز سری بزنید. در این بخش از جلسه شانزدهم PHP بد نیست که حتما یه نگاهی بیاندازید. پس اینجا را نیز کلیک کنید.
بعد از data type شما می توانید برای هر ستون ویژگی های دیگری نیز تنظیم کنید:
NOT NULL – : این ویژگی بیان می کند که هر ردیف باید
حتما شامل یک مقدار برای آن ستون باشد. که خالی رها کردن آن مجاز نیست.
DEFAULT value –
: به این معنی که یک مقدار در صورتی که کاربر هیچگونه مقداری وارد نکند، به صورت
پیشفرض قرار گیرد.
UNSIGNED – : این
قسمت برای داده های عددی استفاده می شود، به این
صورت که کابر باید تنها اعداد مثبت و صفر را وارد کند.
AUTO INCREMENT – : در این حالت مقدار آن
بخش به ازای هر بار تکرار یک واحد افزایش پیدا میکند.
شما در حال آموزش و یادگیری جلسه شانزدهم PHP می باشید.
PRIMARY KEY -: وظیفه این بخش این است تا یک شناسه مناسب برای جدول تعیین کند. این شناسه ها هرگز تکراری نخاهند بود و برای هر جدول مقداری واحد تعیین می شود. اغلب این بخش به وسیله AUTO_INCREMENT تعیین و از آن به عنوان شماره ID استفاده می شود.
هر جدول باید یک ستون primary key داشته باشد. مقدار آن باید برای هر آیتم در جدول واحد و منحصر به فرد باشد.
به 3 مثال زیر از جلسه شانزدهم PHP توجه کنید. در این مثال ها نحوه ایجاد جدول در کد های PHP بیان شده است.
مثال اول: به صورت MySQL (شی گرایی):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // sql to create table $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )"; if ($conn->query($sql) === TRUE) { echo "Table MyGuests created successfully"; } else { echo "Error creating table: " . $conn->error; } $conn->close(); ?> |
مثال دوم از جلسه شانزدهم PHP : به صورت MySQL (رویه ایی):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // sql to create table $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )"; if (mysqli_query($conn, $sql)) { echo "Table MyGuests created successfully"; } else { echo "Error creating table: " . mysqli_error($conn); } mysqli_close($conn); ?> |
مثال سوم از جلسه شانزدهم PHP : به صورت PDO
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // sql to create table $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )"; // use exec() because no results are returned $conn->exec($sql); echo "Table MyGuests created successfully"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?> |
تبریک میگم شما موفق شدید تا جلسه شانزدهم PHP از کدپز را پشت سر بگذارید.
📝<<به راهی که اکثر مردم می روند بیشتر شک کن!
اغلبِ مردم تقلید می کنند.
انگشت نما بودن بهتر از احمق بودن است. . . . >> ☑️
3 Comments
Join the discussion and tell us your opinion.
سلام وقت بخیر خسته نباشید من برنامه و مینویسم هر کاری میکنم ارور میده
Warning: mysqli::mysqli(): (HY000/1045): Access denied for user ‘username’@’localhost’ (using password: YES) in C:\xampp\htdocs\44.php on line 7
Connection failed: Access denied for user ‘username’@’localhost’ (using password: YES)
سلام،این خطا به دلیل استفاده اشتباه از بانک اطلاعاتی ، نام کاربری یا گذرواژه به وجود می آید. می توانید به دیتابیس رفته و بانک اطلاعات ، نام کاربری و رمز عبور را بررسی کنید و اطلاعات صحیح را ذکر کنید.
سلام داداش منم همین مشکل و داشتم توی تعریف متغیر ها یوزر نیم و بزار root پسوردم خالی بزار یعنی دو تا دبل کوتیشن بزار فقط درست میشه