اتصال به پایگاه داده از طریق PHP و 3 رابط mysql,mysqli و pdo

دسته بندی: پایگاه داده
زمان مطالعه: ۲ دقیقه
۱۳ شهریور ۱۳۹۳

با توجه به اهمیت پایگاه داده این جلسه رو به تشریح کامل نحوه ی اتصال به پایگاه داده از طریق کدهای PHP پرداختیم . در این جلسه 3 رابط mysql , mysqli و pdo را برای اتصال به پایگاه داده ی MySQL معرفی کرده و توضیحات لازم در مورد آنها را ارائه می دهیم .

مطالب ارائه شده در این جلسه عبارتند از :

اتصال به پایگاه داده ی MySQL از طریق PHP

  • روش هاي اتصال به پايگاه داده از طريق PHP با رابط های mysqli, mysql  و PDO
  • آشنایی کلی با رابط MySQL
  • تشریح نحوه اتصال به پایگاه داده از طریق رابط MySQL
  • عدم استفاده از رابط MySQL به خاطر منسوخ شدن آن از ورژن 5.5 php به بعد
  • آشنایی کلی با رابط MySQLi
  • تشریح نحوه اتصال به پایگاه داده از طریق رابط MySQLi
  • آشنایی کلی با رابط PDO
  • تشریح نحوه اتصال به پایگاه داده از طریق رابط PDO
  • اجراي کوئري هاي دلخواه بر روي ديتابيس از طريق PHP و رابط MySQLi
  • ميني پروژه : ایجاد صفحه ای برای اجرای بیش از 20 کوئری مختلف SQL بر روی پایگاه داده با شیوه ای جالب
  • تمرين
تاخیر برای کیفیت :

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

:: توجه

این مطلب یک جلسه از آموزش PHP می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در آموزش PHP

نویسنده
بیش از 15 سال هست که برنامه نویسی می کنم و از بین همه زبون هایی که کار کردم جاوا، اسمبلی و php رو دوست دارم. دانشجوی دکترای نرم افزارم و توی دانشگاه روی پردازش بیگ دیتا و پردازش موازی کار کردم و عاشق چالش از هر نوعیش هستم! سون لرن مثل بچه منه که 12 سال براش وقت گذاشتم، اینجا همه تلاش می کنیم از شروع یادگیری تا ورود به بازر کار حوزه برنامه نویسی و IT همراهتون باشیم.

جلسات دوره

نظرات کاربران

mohsen karimi

با سلام خدمت استاد عزیز؛
من تو این جلسه به یه مشکل خوردم و اینکه تابع mysql_real_escape_string تو common.php منسوخ شده و من بجای این تابع از mysqli_real_escape_string استفاده کردم. ولی این تابع دو تا پارامتر میگیره. یه پارامتر $input هست پارامتر دوم چی باید قرار بدم؟

محمدامین عطائی

سلام من موقعی که فایل common.php رو include کردم و این کدها رو توی mysqli زدم با ارور مواجه شدم :
Fatal error: Uncaught Error: Call to undefined function mysql_real_escape_string() in /opt/lampp/htdocs/7learn/common/common.php:166 Stack trace: #0 /opt/lampp/htdocs/7learn/17/mysqli.php(17): sanitize(‘sad’) #1 {main} thrown in /opt/lampp/htdocs/7learn/common/common.php on line 166

<?php
    require_once "../common/common.php";
    require_once "config.php";
    $mysqli = new mysqli($dbHost, $dbUser, $dbPass, $dbName);
    if(!$mysqli -> select_db($dbName)) {
        echo "<span style=’…’>Problem Selecting database ";
        exit(0);
    }
    if($mysqli -> connect_errno) {
        printf("Connection failed: %s\n", $mysql -> connecy_errno);
        exit();
    }

    echo "Connect successfully to database <b>$dbName</b>. (Using mysql_connect) <br>";

    if(isset($_GET["op"])) {
        $op = sanitize($_GET["op"]);
        if(isset($_GET["database"])) {
            $db = sanitize($_GET["database"]);
            $doPrint = false;
            switch($op) {
                case "show":

                break;
                case "create":

                break;
                case "show":

                break;
                default:
                    echo "<span style=’color: red; font-weight: bold’>Inavalid Operation</span>";
                    exit();
                break;
            }
        }
    }

    $mysqli -> close();
?>
مصطفی

سلام
من کد زیر رو نوشتم ولی با این ارور مواجه میشم:
Notice: Trying to get property ‘num_rows’ of non-object in C:\wamp64\www\Learning\17\me\mysqli.php on line 15

<?php
require_once "config.php";
include "../../common/common.php";

$mysqli = new mysqli($dbHost, $dbUser, $dbPass);

if ($mysqli->connect_errno) {
    printf("اتصال با شکست روبرو شد : %s\n", $mysqli->connect_error);
    exit();
}

echo "اتصال موفقیت آمیز <br>";

$sql = "select * from customers";
$result = $mysqli->query($sql);
echo $result->num_rows;
مصطفی

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

پدرام فیروزکوهی

سلام خسته نباشید
ممنون بابت آموزش فوق العاده شما فقط من یه مشکلی دارم توی 2 قسمتی که شما از like استفاده کردید یعنی gmail customers و delete random categories که از کوئری لایک استفاده شده من هر وقت از % استفاده میکنم صفحه 404 not found میده حتی کل فایلهای شما رو کپی کردم همینطوریه باز هم گفتم شاید بخاطر غیرفعال بودن asp tag باشه اونم فعال کردم باز هم سر like ارور بالا رو میده لینکی که برمیگردونه عین ماله شماست اما باز ارور بالا رو میده ممنون میشم راهنمایی کنید :
این لینکی هست که برای من میاد : http://localhost:63342/practise/mysqli.php?op=select&fields=*&table=customers&where=email%20like%20%27%@gmail.%%27

پایان زمان پشتیبانی

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

شما هم چنان می توانید سوالات خود را در این قسمت بپرسید اما اولویت پاسخ گویی با دانشجویانی است که بازه پشتیبانی فعال دارند.

نیاز به لاگین

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