דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. PHP - קריאה מDB של MSSQL. מישהו התנסה?

PHP - קריאה מDB של MSSQL. מישהו התנסה?

מתוזמן נעוץ נעול הועבר תכנות
14 פוסטים 4 כותבים 1.3k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • clickoneC מנותק
    clickoneC מנותק
    clickone
    השיב למנצפך ב נערך לאחרונה על ידי
    #5

    @מנצפך חשדתי שהתכוונת לORM.
    עדיין לא.....
    אתה מכיר משהו לPHP מול MSSQL עם ORM?

    אין טסט כמו פרודקשן.

    המייל שלי urivpn@gmail.com

    תגובה 1 תגובה אחרונה
    0
    • מנצפךמ מנותק
      מנצפךמ מנותק
      מנצפך
      כתב ב נערך לאחרונה על ידי
      #6

      בעוונות אני לא מתעסק (עדיין) לא עם PHP וכמעט לא עם MSSQL.
      בינתיים node.js עם WaterLine. (ב Sails.js)
      שאל את המומחים.

      clickoneC תגובה 1 תגובה אחרונה
      1
      • clickoneC מנותק
        clickoneC מנותק
        clickone
        השיב למנצפך ב נערך לאחרונה על ידי
        #7

        @מנצפך בינתיים אתה עושה את מה שנכון לעשות 🙂
        אני בעוונות צריך להתעסק עם PHP.

        אין טסט כמו פרודקשן.

        המייל שלי urivpn@gmail.com

        מנצפךמ תגובה 1 תגובה אחרונה
        1
        • מנצפךמ מנותק
          מנצפךמ מנותק
          מנצפך
          השיב לclickone ב נערך לאחרונה על ידי
          #8

          @clickone זה כי אני רק מתחיל בתחום ה - WEB

          תגובה 1 תגובה אחרונה
          1
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            כתב ב נערך לאחרונה על ידי dovid
            #9

            https://github.com/Microsoft/msphpsql
            תתקין בלינוקס לפי ההוראות הנ"ל (הרבה צעדים שם כנראה מיותרים כי כנראה כבר מותקן PHP וכן אפאצ'), יש לך שמה צעד אחר צעד. בסוף יש גם קובץ דמו לטסט.

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            תגובה 1 תגובה אחרונה
            1
            • clickoneC מנותק
              clickoneC מנותק
              clickone
              כתב ב נערך לאחרונה על ידי
              #10

              @dovid זה לPHP7.
              יש לי PHP5 על השרת. ואני דיי חושש לשדרג / להוסיף.

              אין טסט כמו פרודקשן.

              המייל שלי urivpn@gmail.com

              dovidD תגובה 1 תגובה אחרונה
              0
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                השיב לclickone ב נערך לאחרונה על ידי dovid
                #11

                @clickone אמר בPHP - קריאה מDB של MSSQL. מישהו התנסה?:

                @dovid זה לPHP7.
                יש לי PHP5 על השרת. ואני דיי חושש לשדרג / להוסיף.

                אז תבדוק את זה
                http://www.linuxjournal.com/article/6636
                https://gist.github.com/joecampo/acd1e5881aee08bd8959

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                1
                • ח מנותק
                  ח מנותק
                  חוקר
                  כתב ב נערך לאחרונה על ידי חוקר
                  #12

                  @clickone
                  בניתי מערכת טלפונית עבור מנהלת קבר יוסף, הוצרכתי לחבור לבסיס הנתונים שלהם MSSQL.
                  לאחר יגיעה וטירחה הסתדרתי ב"ה.
                  ראשית כל חייבים שהיה מותקן על השרת דרייברים של (MSSQL (sql_srv
                  כולל דרייבר PDO לSQL.
                  אני אישית משתמש הרבה עם מחלקת תקשורת לMYSQL שמקורה https://gist.github.com/danferth/9512172
                  אך ביצעתי שינויים במבנה ההתחברות לספק גמישות בהתחברות דינאמית לבסיס נתונים משתנה ולא קבוע במחלקה.
                  בנוסף הוספתי תמיכה בmssql.
                  להלן המחלקה

                  class db{
                  
                    private $dbh;
                    private $error;
                    private $qError;
                    
                    private $stmt;
                    
                    public function __construct($user, $pass, $dbName = null, $host = "localhost", $srv = "mysql"){
                  		$this->host = $host;
                  		$this->user = $user;
                  		$this->pass = $pass;
                  	if ($dbName == null)
                  		$this->dbName = $user;
                  	else
                  	$this->dbName = $dbName;
                  		//dsn for mysql
                          //if ($srv == "mysql")
                         if ($srv == "mysql"){
                      $dsn = "mysql:host=".$this->host.";dbname=".$this->dbName;
                      $options = array(
                          PDO::ATTR_PERSISTENT    => true,
                          PDO::ATTR_ERRMODE       => PDO::ERRMODE_EXCEPTION
                          );
                  		}
                          elseif ($srv == "mssql"){
                      $dsn = "sqlsrv:server=".$this->host.";Database=".$this->dbName;
                      $options = array(
                          PDO::ATTR_ERRMODE       => PDO::ERRMODE_EXCEPTION
                          );
                  		}
                      try{
                          $this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
                      }
                      //catch any errors
                      catch (PDOException $e){
                          $this->error = $e->getMessage();
                      }
                      
                    }
                    
                    public function query($query){
                        $this->stmt = $this->dbh->prepare($query);
                    }
                    
                    public function bind($param, $value, $type = null){
                        if(is_null($type)){
                            switch (true){
                                case is_int($value):
                                  $type = PDO::PARAM_INT;
                                  break;
                                case is_bool($value):
                                    $type = PDO::PARAM_BOOL;
                                    break;
                                case is_null($value):
                                    $type = PDO::PARAM_NULL;
                                    break;
                                default:
                                    $type = PDO::PARAM_STR;
                            }
                        }
                      $this->stmt->bindValue($param, $value, $type);
                    }
                    
                    public function execute(){
                        return $this->stmt->execute();
                        $this->qError = $this->dbh->errorInfo();
                          if(!is_null($this->qError[2])){
                  	        echo $this->qError[2];
                          }
                          echo 'done with query';
                    }
                    
                    public function resultset(){
                        $this->execute();
                        return $this->stmt->fetchAll(PDO::FETCH_ASSOC);
                    }
                    
                    public function single(){
                        $this->execute();
                        return $this->stmt->fetch(PDO::FETCH_ASSOC);
                    }
                    
                    public function rowCount(){
                        return $this->stmt->rowCount();
                    }
                    
                    public function lastInsertId(){
                        return $this->dbh->lastInsertId();
                    }
                    
                    public function beginTransaction(){
                        return $this->dbh->beginTransaction();
                    }
                    
                    public function endTransaction(){
                        return $this->dbh->commit();
                    }
                    
                    public function cancelTransaction(){
                        return $this->dbh->rollBack();
                    }
                    
                    public function debugDumpParams(){
                        return $this->stmt->debugDumpParams();
                    }
                    
                    public function queryError(){
                        $this->qError = $this->dbh->errorInfo();
                        if(!is_null($qError[2])){
                            echo $qError[2];
                        }
                    }
                    
                  }//end class db
                  

                  להלן דוגמה לשימוש

                  $database = new db("user", "pass", "moreshet.mdf", "mssql.lut.co.il", "mssql");
                  

                  זה יוצר אינטרפייס של המחלקה ומאפשר שליפת הנתונים ועוד לפי ההוראות בקישור לעיל.
                  לדוגמה

                  $database->query('SELECT * 
                    FROM [moreshet.mdf].[phone].[play]'); 
                  //$database->bind(":$key", $value);
                  $result = $database->resultset();
                  

                  ובקיצור זה ממש כמו mysql.
                  יש לי פונקציות נוספות שמקילות מאוד על כל התקשורת עם SQL.
                  תוכל ליצור קשר באישי.
                  7226644@gmail.com

                  clickoneC תגובה 1 תגובה אחרונה
                  3
                  • clickoneC מנותק
                    clickoneC מנותק
                    clickone
                    השיב לחוקר ב נערך לאחרונה על ידי
                    #13

                    @חוקר
                    תודה רבה 🙂
                    אני חושב שהתקני את המחלקות האלו ואפילו הצלחתי לתקשר עם השרת.
                    אבל לא תגובות משאילתות.
                    עוד מעט אבדוק שוב....

                    יש תמיכה לקודים. התחלה לפני הקוד ב3 סימני תלתל רצופים וסיום
                    תלתל = ~

                    אין טסט כמו פרודקשן.

                    המייל שלי urivpn@gmail.com

                    ח תגובה 1 תגובה אחרונה
                    0
                    • ח מנותק
                      ח מנותק
                      חוקר
                      השיב לclickone ב נערך לאחרונה על ידי חוקר
                      #14

                      @clickone אמר בPHP - קריאה מDB של MSSQL. מישהו התנסה?:

                      @חוקר
                      תודה רבה 🙂
                      אני חושב שהתקני את המחלקות האלו ואפילו הצלחתי לתקשר עם השרת.
                      אבל לא תגובות משאילתות.
                      עוד מעט אבדוק שוב....

                      יש תמיכה לקודים. התחלה לפני הקוד ב3 סימני תלתל רצופים וסיום
                      תלתל = ~

                      אכן תיקנתי את ההצגה של הקודים.
                      לגבי קבלת הנתונים תוכל ליצור קשר באישי.

                      אגב לפני שהסתדרתי כבר חשבתי לעשות הכל באמצעות ג'יסון, אבל אין סיבה.
                      זה עובד חלק

                      תגובה 1 תגובה אחרונה
                      1

                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום