آموزش اتصال به SQL Server با php با استفاده از توابع کتابخانه ایی PDO

شروع موضوع توسط mamadshoshteri ‏3 دسامبر 2012 در انجمن مقالات و آموزش‌ها

  1. mamadshoshteri

    mamadshoshteri New Member

    ارسال‌ها:
    26
    تشکر شده:
    2
    امتیاز دستاورد:
    3
    سلام دوستان من چند وقت پیش به این آموزش خیلی نیاز پیدا کردم ولی راحت نبود واسم یاد گرفتنش واسه همین تصمیم گرفتم این چند تا کلمه که یاد گرفتم و اینجا به اشتراک بزارم شاید یکی مثل من نیاز پیدا کرد .


    لازم است مراحل زیر قدم به قدم طی‌ شود:

    ۱-در روت در فلدرِ پی‌ اچ‌ پی‌ در php.ini ابتدا extension=PHP_PDO.dll از حالت کامنت خارج میشود . (بسته به نیازتون باید بقیه خط هایی که PDO دارن رو هم از کامن در بیارین مشخصه چه فایل هایی)

    ۲- ntwdblib.dll دانلود شده و در ۲ پوشهٔ php و apache->bin کپی‌ میشود

    ۳.در php.ini mssql.secure_connection = Off به mssql.secure_connection = On تبدیل میشود

    4.در mssql configuration manager در sql server network config همه پروتکل ها جز VIA فعال شده و tcp/ip یک ip معادل 1443 ست میشود.

    ____________________

    یه فایله پیوست کردم dll هایی که نیازه واسه PDO تا روی xp اجرا بشه توش هست اون فایل ها رو کنار بقیه dll هایی که تو پوشه php شاخه ی ext هست کپی کنید .

    خب حالا یه بار service آپاچی تو رو ری استارت کنید .



    کد زیر هم واسه اتصال به پایگاه داده هست
    [PHPS]
    <?php
    try {
    $hostname = "SERVER"; //host
    $dbname = "SodoorFactor91"; //db name
    $username = "sa"; // username like 'sa'
    $pw = "560"; // password for the user

    $dbh = new PDO ("mssql:host=$hostname;dbname=$dbname","$username","$pw");
    if($dbh){echo "ok";}
    } catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    exit;
    }
    $stmt = $dbh->prepare("SELECT * FROM Moshtari");
    $stmt->execute();
    while ($row = $stmt->fetch()) {
    print_r($row);
    }
    unset($dbh); unset($stmt);
    ?>
    [/PHPS]

    خب کد بالام که مشخص بود چی به چیه حالا یه مشکل کوچیک دیگم داریم اونم اینه که اطلاعات فارسی به صورت علامت سوال در میاد که با استفاده از توابع زیر مشکلمون حل میشه

    [PHPS]

    function persian_sql_to_php($str){

    if(mb_detect_encoding($str) == 'UTF-8' AND mb_check_encoding($str, 'UTF-8')){

    $str = utf8_decode($str);

    }

    $str = iconv('Windows-1256', 'UTF-8', $str);

    return $str;

    }



    function persian_php_to_sql($str){

    $str = iconv('UTF-8', 'Windows-1256', $str);

    return $str;

    }
    [/PHPS]

    دوستان شرمنده اگه نکات نگارشی رو رعایت نکردم یا عامیانه نوشتم امیدوارم استاده برده بشه / یا علی
     

    پیوست ها:

    • SQLSRV20.zip
      اندازه فایل:
      کیلوبایت 748.8
      نمایش ها:
      315
    آخرین ویرایش: ‏3 دسامبر 2012
    نوشته شده توسط mamadshoshteri در ‏3 دسامبر 2012
  2. ghasemweb

    ghasemweb New Member

    ارسال‌ها:
    1
    تشکر شده:
    0
    امتیاز دستاورد:
    1
    من موفق نشدم متصل بشم لطفا راهنمایی کنید . مشکل از کجاست؟ 64 بیتی بودن ویندوز ممکنه ایراد کنه؟
     
    نوشته شده توسط ghasemweb در ‏20 آگوست 2013
  3. mamadshoshteri

    mamadshoshteri New Member

    ارسال‌ها:
    26
    تشکر شده:
    2
    امتیاز دستاورد:
    3
    والله 64 بیتی بودنش رو امتحان نکردم

    ورژن Xampp ت چیه ؟ به چه خطایی برخورد میکنی ؟
     
    نوشته شده توسط mamadshoshteri در ‏21 آگوست 2013
  4. fatemeh3

    fatemeh3 New Member

    ارسال‌ها:
    2
    تشکر شده:
    0
    امتیاز دستاورد:
    1
    سوال








    سلام.من با xamp کد php می نویسم.متاسفانه من فایل php.ini رو که می فرمایین پیدا نمیکنم.که بخوام تغییراتی که شما گفتین رو انجام بدم!!!!!!!!
     
    نوشته شده توسط fatemeh3 در ‏31 می 2015
  5. fatemeh3

    fatemeh3 New Member

    ارسال‌ها:
    2
    تشکر شده:
    0
    امتیاز دستاورد:
    1
    سلام.من با xamp کد php می نویسم.متاسفانه من فایل php.ini رو که می فرمایین پیدا نمیکنم.که بخوام تغییراتی که شما گفتین رو انجام بدم!!!!!!!!
     
    نوشته شده توسط fatemeh3 در ‏31 می 2015

به اشتراک بگذارید