ارتباط با دیتابیس – MySql
Sql یک زبان ساختار یافته برای ارتباط با دیتابیس هست که بیشتر دیتابیس های sql روش های خاص خودشون رو دارن , مثل مرورگرها که برا خوندن اچ تی ام ال روش خودشون رو دارند . توضیح دادن sql در این سری آموزشی از حوصله من و شما خارج هست با این حال سعی میکنم بصورت خیلی خلاصه یه توضیحی بدم .
Mysql به عنوای یک سرویس اجرا میشه که کاربر میتونه بصورت لوکال یا ریموت بهش وصل بشه و بعد اینکه وصل شد میتونید دیتابیس تون رو انتخاب کنید البته اگه دسترسی بهش رو داشته باشید . هر دیتابیس میتونه چندین جدول داشته باشه که هرجدول شامل سطر و ستون هست . هر ستون(Column) فقط مقادیری رو میپذیره که براش تعریف شده مثلا Int برا مقادیر Integer یا Text برا مقادیر متنی .
اجازه بدید چند تا از دستورات پرکاربرد Sql رو بررسی کنیم :
دستور بالا یک جدول با سه ستون برا ما ایجاد میکنه که firstname و lastname به عنوان متغییر رشته ای استفاده میشه که حاوی 30 کاراکتر هست یعنی بیشتر از 30 کاراکتر قبول نمیکنه و age به عنوان متغیر عددی میتونه عددی رو قبول کنه .
برای اضافه کردن اطلاعات به این جدول اینطوری عمل میکنیم :
همونطور که میبینید ما عدد مربوط به سن رو داخل ‘ نزاشتیم چون متغیرهای عددی احتیاج ندارن که داخل ‘ قرار بگیرن . برای انتخاب این اطلاعات وارد شده از دستور :
علامت * یعنی همه ستون ها انتخاب بشن ... ما میتونیم تکی هم اینکار رو بکنیم به این صورت :
که تنها متغیر age انتخاب خواهد شد .
برای ذخیره یا تغییر اطلاعات یک سطر (رکورد) از این دستور استفاده میکنیم :
دستور بالا در تمامی سطر ها ستون firstname رو برابر Mahdi قرار میده , مسلما این همیشه چیزی نیست که میخوایم برای تغییر سطر خاصی از یک جدول از دستور WHERE استفاده میکنیم .
در دستور بالا سطری تغییر پیدا میکنه که lastname برابر با Safary باشه , در غیر اینصورت تغییری صورت گرفته نمیشه .
Mysql یکی از قدرتمند ترین دیتابیس ها و یکی از سریعترین دیتابیس های موجود هست و سادگی استفاده از اون توسط پی اچ پی باعث محبوبیت درمیان پی اچ پی کاران شده .
نحوه برقراری ارتباط با دیتابیس Mysql توسط پی اچ پی :
در دستور پی اچ پی بالا ما به دیتابیس وصل میشیم دقت کنید که ما در مثال هامون فرض بر این میگیریم که بر روی کامپیوتر شخصی خودمون داریم برنامه هامون رو اجرا میکنیم و معمولا نام کاربری برابر root پسوردی وجود نداره دستور بالا به این صورت هست
برای انتخاب دیتابیس هم از دستور mysql_select_db(); استفاده میکنیم بزارید با مثالی بیشتر توضیح بدم : در این مثال ما اطلا عاتی رو وارد دیتابیس میکنیم همون اول لازمه که یک دیتابیس بسازید به اسم db1
برای بدست اوردن تعداد نتیجه به این صورت عمل میکنیم :
بزارید دو نوع از روش کشیدن داده از دیتابیس رو باهم ببینیم در روش اول ما تمام داده ها رو داخل یه حلقه قرار میدیم و میدیم بیرون :
خوب ما در مثال بالا تمامی اطلاعات داخل جدول mytable رو داخل یک جدول اچ تی ام ال چاپ میکنیم .
در روش دوم ما میخوایم فقط اطلاعات خاصی رو چاپ کنیم برای مثال ستون های خاصی رو چاپ کنیم نه همه ستون ها رو :
برای اپدیت کردن یا همون تغییر دادن هم کافیه از همون دستور Sql که دربالا دربارش صحبت کردیم استفاده کنیم .
در بخش های بعدی بیشتر در این مورد صحبت میکنیم تا بهتر یاد بگیریم.
مهدی صفری
Sql یک زبان ساختار یافته برای ارتباط با دیتابیس هست که بیشتر دیتابیس های sql روش های خاص خودشون رو دارن , مثل مرورگرها که برا خوندن اچ تی ام ال روش خودشون رو دارند . توضیح دادن sql در این سری آموزشی از حوصله من و شما خارج هست با این حال سعی میکنم بصورت خیلی خلاصه یه توضیحی بدم .
Mysql به عنوای یک سرویس اجرا میشه که کاربر میتونه بصورت لوکال یا ریموت بهش وصل بشه و بعد اینکه وصل شد میتونید دیتابیس تون رو انتخاب کنید البته اگه دسترسی بهش رو داشته باشید . هر دیتابیس میتونه چندین جدول داشته باشه که هرجدول شامل سطر و ستون هست . هر ستون(Column) فقط مقادیری رو میپذیره که براش تعریف شده مثلا Int برا مقادیر Integer یا Text برا مقادیر متنی .
اجازه بدید چند تا از دستورات پرکاربرد Sql رو بررسی کنیم :
PHP:
Create Table mytable(firstname VARCHAR(30),lastname VARCHAR(30),age INT);
برای اضافه کردن اطلاعات به این جدول اینطوری عمل میکنیم :
PHP:
INSERT INTO mytable(firstname,lastname,age)values(‘Mehdi’,’Safary’,19) ;
PHP:
SELECT * From mytable;
PHP:
SELECT age From mytable;
برای ذخیره یا تغییر اطلاعات یک سطر (رکورد) از این دستور استفاده میکنیم :
PHP:
UPDATE mytable SET firstname=’Mahdi’ ;
PHP:
UPDATE mytable SET firstname=’Mahdi’ WHERE lastname=’Safary’ ;
Mysql یکی از قدرتمند ترین دیتابیس ها و یکی از سریعترین دیتابیس های موجود هست و سادگی استفاده از اون توسط پی اچ پی باعث محبوبیت درمیان پی اچ پی کاران شده .
نحوه برقراری ارتباط با دیتابیس Mysql توسط پی اچ پی :
PHP:
$link = mysql_connect(“localhost”,”username”,”password”);
if (! $link) die(“Could not Connect To Database”);
PHP:
$link = mysql_connect(“localhost”,”root”,””);
برای انتخاب دیتابیس هم از دستور mysql_select_db(); استفاده میکنیم بزارید با مثالی بیشتر توضیح بدم : در این مثال ما اطلا عاتی رو وارد دیتابیس میکنیم همون اول لازمه که یک دیتابیس بسازید به اسم db1
PHP:
$dbname=”db1”;
//ertebat ro ijad mikonim
$link=mysql_connect(“localhost”,”root”,””);
// age ertebat movafag nabood error zir ro midim
if(! $link) die(“Could not connect to database”);
// database ro entekhab mikonim
mysql_select_db($dbname,$link) or die (“could not open $dbname : “.mysql_error() );
//query to tariff mikonim
$query=”INSERT INTO mytable(firstname,lastname,age)values(‘Mehdi’,’Safary’,19)”;
//query ro ejra mikonim
mysql_query($query,$link) or die(“Could not add data”.mysql_error());
// ertebat ro mibandim
mysql_close($link);
PHP:
$result=mysql_query(“select * from mytable);
$numrows=mysql_num_rows( $result );
print "There are currently $numrows rows in the table<P>";
PHP:
<?php
$db = "db1";
$link = mysql_connect( "localhost", “root”, “” );
if ( ! $link ) die( "Couldn't connect to MySQL" );
mysql_select_db( $db, $link ) or die ( "Couldn't open $db: ".mysql_error() );
$result = mysql_query( "SELECT * FROM mytable" );
$num_rows = mysql_num_rows( $result );
print "There are currently $num_rows rows in the table<P>";
print "<table border=1>\n";
while ( $a_row = mysql_fetch_row( $result ) ) {
print "<tr>\n";
foreach ( $a_row as $field )
print "\t<td>$field</td>\n";
print "</tr>\n";
}
print "</table>\n";
mysql_close( $link );
?>
در روش دوم ما میخوایم فقط اطلاعات خاصی رو چاپ کنیم برای مثال ستون های خاصی رو چاپ کنیم نه همه ستون ها رو :
PHP:
<?php
$db = "db1";
$link = mysql_connect( "localhost", “root”, “” );
if ( ! $link ) die( "Couldn't connect to MySQL" );
mysql_select_db( $db, $link ) or die ( "Couldn't open $db: ".mysql_error() );
$result = mysql_query( "SELECT * FROM mytable" );
$num_rows = mysql_num_rows( $result );
print "There are currently $num_rows rows in the table<P>";
print "<table border=1>\n";
while ( $arow = mysql_fetch_array( $result ) )
{
print "<TR>\n";
print "<TD>$arow[firstname]</TD><TD>$arow[lastname]</TD>\n";
print "</TR>\n";
}
print "</table>\n";
mysql_close( $link );
?>
برای اپدیت کردن یا همون تغییر دادن هم کافیه از همون دستور Sql که دربالا دربارش صحبت کردیم استفاده کنیم .
در بخش های بعدی بیشتر در این مورد صحبت میکنیم تا بهتر یاد بگیریم.
مهدی صفری