اتصال PHP با PostgreSQL

سلام

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

در PHP براحتی میتونید با این دیتابیس راتباط برقرار کنید. بگذریم که میشه از PDO استفاده کرد برای اتصال PHP به انواع دیتابیس

اما امروز قصد دارم بوسیله توابع خود PHP وصل بشیم به PostgreSQL.

فرض بر این میگیرم که پکیج PostgreSql نصب هست رو سرور و دیتابیستون هم آماده هست.

  • اگر قصد دارید روش نصب PostgreSql رو توی لینوکس Centos یاد بگیرید اینجا رو کلیک کنید.
  • اگر قصد دارید روش ساخت دیتابیس و تیبل رو در سرور PostgreSql یاد بگیرید اینجا رو کلیک کنید.

 

خوب اول از همه باید به سرور PostgreSQL وصل بشیم که با خط زیر اینکار رو انجام میدیم ( فرض می کنیم PostgreSql روی سروری هست که PHP هم نصبه )

$DB = pg_connect("host=localhost port=5432 dbname=dbText user=postgre password=123");
if(!$DB) {
    die('PG Connection Error');
}

خوب اگر مشکلی باشه باید error رو نشون بده وگرنه که اوکیه
میریم سراغ اینکه بتونید توی یک تیبل از دیتابیس PostgreSql رکوردی رو اضافه کنیم.

$sql = pg_query($DB,"INSERT INTO tableTest (name,age) VALUES('nader','3')");

خوب به همین سادگی اطلاعات وارد شد.
میریم سراغ خوندن اطلاعات از PostgreSql با تابع pg_query

$sql = pg_query($DB,"SELECT * FROM tableTest");

یکی از راه هایی که بتونیم اطلاعات پرس و جویی که به PostgreSql زدیم رو بخونیم تابع pg_fetch_assoc هست.

که با استفاده از while همه رکورد ها رو میخونیم.

while($row = pg_fetch_assoc($sql)) {
echo $row['name']. " ".$row['age']."\n";
}

همچنین میتونیم تعداد رکورد بازگشتی از PostgreSql رو متوجه بشیم با pg_num_rows

echo $numrows = pg_num_rows($sql);

خوبه که بعد از اتمام کار و دریافت اطلاعات از PostgreSql از تابع pg_free_result استفاده کنیم
که حافظه sql خالی بشه

pg_free_result($DB,$sql);

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

$sql = pg_query($DB,"UPDATE tableTest SET name='reza' , age='25' WHERE id='1'");

و برای اینکه بررسی کنیم که چه تعداد رکورد توی PostgreSql بروزرسانی شده از affected_rows استفاده میکنیم

echo pg_affected_rows($sql);

و اما برای حذف رکورد

$sql = pg_query($DB,"DELETE FROM tableTest WHRRE id=1");

و در نهایت برای اینکه ارتباطمون با سرور PostgreSql قطع بشه باید از pg_close استفاده کنیم.

pg_close($DB);

خوب اینجوری ما فقط میتونیم به pgsql وصل بشیم . من پیشنهاد میکنم برای اینکه یه کد بنوسیسم و به دیتابیس های مختلف بتونیم
وصلش کنیم لین لینک رو ببینید http://majidphp.ir/php_medoo/

دیدگاهتان را بنویسید

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