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

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

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

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

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

    @clickone סליחה. התכוונתי ORM.

    clickoneC תגובה 1 תגובה אחרונה
    1
    • 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
                        • דף הבית
                        • קטגוריות
                        • פוסטים אחרונים
                        • משתמשים
                        • חיפוש
                        • חוקי הפורום