create database‎

‎‎ايجادdatabaseدرسيستمهاي اطلاعاتي

Previous >    <Next  

‎يك ديتابيس شامل يك يا چند جدول ميباشد .براي ايجاد يا حذف آن از بانك اطلاعاتيMySql نيازمند ‎اخيتار ويژه اي است.

‎‎ايجاد بانك اطلاعاتي باMysqli و PDO

‎براي ايجاد بانک اطاعاتي باphpبسه روش مطرح شده کد دربخش ارتباط باسروراطلاعاتي ‎مطرخ شد، مي پردازيم. اين سه روش مطابق زير ميباشند.

‎Mysqli(object oriented)-1

‎Mysqli(procedural)-2

‎PDO(php data objects)-3

‎براي انجام هرعملي روي بانک اطلاعاتي ابتدا بايد به سرورمربوطه ارتباط برقرارکرد. سپس با ‎استفاده ازمتغيرياشي ارتباطي اقدام نمود. هراقدامي دراين مرحله بايد مطابق درخواست استاندارد ‎اسکيوال‎ sql-‎query()‎‎ ‎تنظيم وبا الگوي ارتباطي باجرا درآورد. تنظيم درخواست براي روشها يکسان ‎است. ولي ممکن است تفاوتها جزئي بين سيتمهاي بانک اطلاعاتي وجود داشته باشد.

‎‎فرمت ساده ايجاد بانک اطلاعاتي بصورت زيراست.

‎create database {databasename}

‎مورد فوق يک درخواست اسکيوالsql_query()‎است، وبايد دربرنامهphp مطابق فرمت قانوني گنجانده و ‎اجرا شود.

‎‎بعنوان مثالcreate database mydb درصورت اجرا بانک اطلاعاتي mydb را ايجاد ميکند.

‎‎مثال ـ ايجاد بانک اطلاعاتي بروشmsysqliشيگرا

<?php 
$servername = "servername";
$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();
 ?> 

‎دراين مثال درخواست ايجادdatabaseدرمتغير sqlقرارگرفته وباتوجه به شي connبصورت زيراجرا ‎ميشود. نتيجه اجرا دردستورif كنترل وپيغام مناسب داده ميشود. تابع query()‎ يک متدازشي رابطه ‎است. پارامترتابع درخواست اسکيوال ايجاد بانک اطلاعاتي است.

$conn->query($sql)

‎‎مثالmysqli ـ ايجاد بانک اطلاعاتي بروش رويه اي

<?php 
$servername = "servername"; //  exanple 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 
$servername = "localhost";
$username = "admin";
$password = "12345";

// 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);
 ?> 

‎دراين روش ازتابعmysqli_query()‎براي اجراي درخواست استفاده مي شود. شامل دوپارامتر ‎ارتباط‎($conn)‎ ودرخواست اسكيوال‎($sql)‎ است. ‎.‎نتيجه برگشتي تابعtrue ياfalse ميباشدکه باکنترل آن، پيغام مناسب ‎داده ميشود. براي خطا ازتابعmysqli_error()‎استفاده ميسود.پارامترتابع متغيرارتباطconnمياشد. ‎باتابعmysqli_closeارتباط بسته خواهدشد.

‎‎مثال ـ ايجاد بانک اطلاعاتي بروشpdo

<?php 
$servername = "servername";
$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بانک اطلاعاتيmydb ايجادميشود، تابعexec()‎اجراي درخواست را ‎مطابق دستورزير انجام ميدهد.

$conn->exec($sql);

‎‎تابع فوق متدي ازشي ارتباط ميباشد که دردستورزير ايجادشده است.

$conn = new PDO("mysql:host=$servername", $username, $password);

‎در برنامه بلوک‎try[]‎ ارتباط وايجادبانک اطلاعاتي را انجام ميدهد وبلوکcatch پيغام ‎خطاراصادرمينمايد. دستورزير درانتها شي ازتباطي را حذف يا متوقف ميکند.

$conn = null;


Previous >    <Next