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

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

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

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

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

    אני צריך לגשת בPHP לDB של MSSQL.
    הPHP נמצא על מכונת לינוקס, והMSSQL על מכונת ווינדוס סרבר (כיום אפשר להתקין MSSQL גם על לינוקס, אבל זה לא הנושא כעת)
    אני מתלבט האם לגשת מהPHP ישירות לMSSQL (השיטה המועדפת עלי), או לעשות עוד שכבה בווינדוס סרבר שיחזיר לי JSON.

    מישהו התנסה?
    וגם, בכללי, האם מישהו התנסה לגשת מPHP לMSSQL? כמה זה מורכב לעומת JSON?

    תודה

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

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

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

      אתה לא משתמש באיזה ERP?

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

        @מנצפך לא. זו מערכת שאני מפתח.

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

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

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