echo $u_id;
    setcookie('workwithme', $u_id, time() + 60 * 60 * 24);
} else {
    $is_new = 0;
    echo 'This is an old request';
}
include 'DBConnection.php';
if ($is_new == 0) {
    echo '<br/>This is an old request';
    $tsql = "SELECT name, location, start_time, end_time FROM Event WHERE uid = '" . $u_id . "'";
    $stmt = sqlsrv_query($conn, $tsql);
    if ($stmt === false) {
        echo "Error in statement preparation/execution.\n";
        die(print_r(sqlsrv_errors(), true));
    }
    $check = sqlsrv_fetch($stmt);
    echo "<br/>The query returned: {$check}";
    if ($check) {
        $username_new = sqlsrv_get_field($stmt, 0);
        $location_new = sqlsrv_get_field($stmt, 1);
        $start_time_new = sqlsrv_get_field($stmt, 2);
        $end_time_new = sqlsrv_get_field($stmt, 3);
        echo 'Name: ' + $username_new;
        echo 'Location' + $location_new;
        echo 'Start:' + $start_time_new;
        echo 'End:' + $end_time_new;
    } else {
        $is_new = 1;
    }
    sqlsrv_free_stmt($stmt);
}
Example #2
0
 public function query($sql)
 {
     LogMaster::log($sql);
     if ($this->start_from) {
         $res = sqlsrv_query($this->connection, $sql, array(), array("Scrollable" => SQLSRV_CURSOR_STATIC));
     } else {
         $res = sqlsrv_query($this->connection, $sql);
     }
     if ($res === false) {
         $errors = sqlsrv_errors();
         $message = array();
         foreach ($errors as $error) {
             $message[] = $error["SQLSTATE"] . $error["code"] . $error["message"];
         }
         throw new Exception("SQLSrv operation failed\n" . implode("\n\n", $message));
     }
     if ($this->insert_operation) {
         sqlsrv_next_result($res);
         $last = sqlsrv_fetch_array($res);
         $this->last_id = $last["dhx_id"];
         sqlsrv_free_stmt($res);
     }
     if ($this->start_from) {
         $data = sqlsrv_fetch($res, SQLSRV_SCROLL_ABSOLUTE, $this->start_from - 1);
     }
     return $res;
 }
Example #3
0
 public function seek($offset)
 {
     if ($this->offsetExists($offset) and sqlsrv_fetch($this->_result, $offset)) {
         // Set the current row to the offset
         $this->_current_row = $this->_internal_row = $offset;
         return TRUE;
     } else {
         return FALSE;
     }
 }
Example #4
0
function cs_sql_count($cs_file, $sql_table, $sql_where = 0, $distinct = 0)
{
    global $cs_db;
    $row = empty($distinct) ? '*' : 'DISTINCT ' . $distinct;
    $sql_query = 'SELECT COUNT(' . $row . ') FROM ' . $cs_db['prefix'] . '_' . $sql_table;
    $sql_query .= empty($sql_where) ? '' : ' WHERE ' . $sql_where;
    $sql_query = str_replace('{pre}', $cs_db['prefix'], $sql_query);
    if (!($sql_data = sqlsrv_query($cs_db['con'], $sql_query))) {
        cs_error_sql($cs_file, 'cs_sql_count', cs_sql_error(0, $sql_query));
        return NULL;
    }
    sqlsrv_fetch($sql_data);
    $sql_result = sqlsrv_get_field($sql_data, 0);
    sqlsrv_free_stmt($sql_data);
    cs_log_sql($cs_file, $sql_query);
    return $sql_result;
}
 public static function query($queryStr = '', $objectStr = '')
 {
     $queryDB = sqlsrv_query(self::$dbConnect, $queryStr);
     if (preg_match('/insert into/i', $queryDB)) {
         sqlsrv_next_result($queryDB);
         sqlsrv_fetch($queryDB);
         self::$insertID = sqlsrv_get_field($queryDB, 0);
     }
     if ($queryDB) {
         if (is_object($objectStr)) {
             $objectStr($queryDB);
         }
         //            sqlsrv_free_stmt($queryDB);
         return $queryDB;
     } else {
         self::$error = sqlsrv_errors();
         return false;
     }
 }
Example #6
0
 public function query($sql)
 {
     LogMaster::log($sql);
     if ($this->start_from) {
         $res = sqlsrv_query($this->connection, $sql, array(), array("Scrollable" => SQLSRV_CURSOR_STATIC));
     } else {
         $res = sqlsrv_query($this->connection, $sql);
     }
     if ($this->insert_operation) {
         sqlsrv_next_result($res);
         $last = sqlsrv_fetch_array($res);
         $this->last_id = $last["dhx_id"];
         sqlsrv_free_stmt($res);
     }
     if ($this->start_from) {
         $data = sqlsrv_fetch($res, SQLSRV_SCROLL_ABSOLUTE, $this->start_from - 1);
     }
     return $res;
 }
function get_topic_id($topic)
{
    $params = array($topic);
    $options = array("Scrollable" => 'static');
    $addTopicSQL = "INSERT into Topics Values (?)";
    $getTopicIDSQL = "SELECT TOP 1 TopicID FROM Topics \n                        WHERE Topic = ?\n                        ORDER BY TopicID Desc";
    $TopicID = 0;
    $addTopic = sqlsrv_query($con, $addTopicSQL, $params, $options);
    if ($addTopic === false) {
        die(print_r(sqlsrv_errors(), true));
    }
    $getTopicID = sqlsrv_query($con, $getTopicIDSQL, $params, $options);
    if ($getTopicID === false) {
        die(print_r(sqlsrv_errors(), true));
    }
    if (sqlsrv_fetch($getTopicID) === true) {
        $TopicID = sqlsrv_get_field($getTopicID, 0);
    }
    return $TopicID;
}
Example #8
0
                                     <tr>
                                         <th>Institution</th>
                                         <th>Name</th>
                                         <th>Designation</th>
                                     </tr>
                                 </thead>
                                 
                                 <?php 
 $params = array();
 $options = array("Scrollable" => 'static');
 $adminsQuery = "\n        SELECT I.InstitutionName, A.FirstName, A.LastName, R.Designation\n        FROM Institutions as I, Administrators as A, RoleInstances as RI, Roles as R\n        WHERE A.RoleInstanceID = RI.RoleInstanceID AND\n              RI.RoleID = R.RoleID AND\n              R.Role = 'Admin' AND\n              I.InstitutionID = A.InstitutionID";
 $stmt = sqlsrv_query($con, $adminsQuery, $params, $options);
 if ($stmt === false) {
     die(print_r(sqlsrv_errors(), true));
 }
 while (sqlsrv_fetch($stmt) === true) {
     $institution = sqlsrv_get_field($stmt, 0);
     $fname = sqlsrv_get_field($stmt, 1);
     $lname = sqlsrv_get_field($stmt, 2);
     $designation = sqlsrv_get_field($stmt, 3);
     echo "<tr>";
     echo "<td>{$institution}</td>";
     echo "<td>{$fname} {$lname}</td>";
     echo "<td>{$designation}</td>";
 }
 ?>
                                     
                                 <tbody>
                                     
                                     
                                 </tbody>
Example #9
0
 protected function insert_id($db, $result)
 {
     sqlsrv_next_result($result);
     sqlsrv_fetch($result);
     return (int) sqlsrv_get_field($result, 0);
 }
Example #10
0
 $params = array($courseID, $enrollmentID);
 $options = array("Scrollable" => SQLSRV_CURSOR_KEYSET);
 $worksheetsubmissionsSQL = "SELECT CT.CourseName, WS.WorksheetNumber, SS.StudentSubmissionID, WS.WorksheetID\n            FROM CourseTypes CT, Courses C, Enrollment ER, Worksheets WS, StudentSubmissions SS\n            WHERE C.CourseID = ? AND\n                  ER.EnrollmentID = ? AND\n\t\t\t\t  ER.CourseID = C.CourseID AND\n                  WS.CourseID = C.CourseID AND\n                  C.CourseTypesID = CT.CourseTypesID AND\n                  SS.EnrollmentID = ER.EnrollmentID AND\n                  SS.WorksheetID = WS.WorksheetID";
 $worksheetsubmissions = sqlsrv_query($con, $worksheetsubmissionsSQL, $params, $options);
 if ($worksheetsubmissions === false) {
     die(print_r(sqlsrv_errors(), true));
 }
 $resultlength = sqlsrv_num_rows($worksheetsubmissions);
 if ($resultlength == 0) {
     echo "No Submissions!";
 } else {
     $coursenames = [];
     $worksheetnumbers = [];
     $studentsubmissionids = [];
     $worksheetids = [];
     while (sqlsrv_fetch($worksheetsubmissions) === true) {
         $coursenames[] = sqlsrv_get_field($worksheetsubmissions, 0);
         $worksheetnumbers[] = sqlsrv_get_field($worksheetsubmissions, 1);
         $studentsubmissionids[] = sqlsrv_get_field($worksheetsubmissions, 2);
         $worksheetids[] = sqlsrv_get_field($worksheetsubmissions, 3);
     }
     for ($i = 0; $i < $resultlength; $i++) {
         echo "<tr><td>{$coursenames[$i]}</td><td>{$worksheetnumbers[$i]}</td><td>TBD</td><td><form method =\"post\" action=\"/Teacher/MyCourses/ViewCourse/ViewWorksheet/ViewSubmission/\" name=\"viewsubmissionlink{$i}\" id=\"viewsubmissionlink{$i}\"><input hidden type=\"text\" name=\"worksheetID\" value=\"{$worksheetids[$i]}\"><input hidden type=\"text\" name=\"submissionID\" value=\"{$studentsubmissionids[$i]}\"><button class=\"btn btn-primary\">View Submission</button></form></td></tr>";
     }
 }
 ?>
                                 </tbody>
                             </table>
                         </div>
                     </div>
                    
Example #11
0
 function query($query)
 {
     //if flag to convert query from MySql syntax to MS-Sql syntax is true
     //convert the query
     if ($this->convertMySqlToMSSqlQuery == true) {
         $query = $this->ConvertMySqlToMSSql($query);
     }
     // Initialise return
     $return_val = 0;
     // Flush cached values..
     $this->flush();
     // For reg expressions
     $query = trim($query);
     // Log how the function was called
     $this->func_call = "\$db->query(\"{$query}\")";
     // Keep track of the last query for debug..
     $this->last_query = $query;
     // Count how many queries there have been
     $this->num_queries++;
     // Use core file cache function
     if ($cache = $this->get_cache($query)) {
         return $cache;
     }
     // If there is no existing database connection then try to connect
     if (!isset($this->dbh) || !$this->dbh) {
         $this->connect($this->dbuser, $this->dbpassword, $this->dbname, $this->dbhost);
     }
     // Perform the query via std mssql_query function..
     $this->result = @sqlsrv_query($this->dbh, $query);
     // If there is an error then take note of it..
     if ($this->result === false) {
         $errors = sqlsrv_errors();
         if (!empty($errors)) {
             $is_insert = true;
             foreach ($errors as $error) {
                 $sqlError = "ErrorCode: " . $error['code'] . " ### State: " . $error['SQLSTATE'] . " ### Error Message: " . $error['message'] . " ### Query: " . $query;
                 $this->register_error($sqlError);
                 $this->show_errors ? trigger_error($sqlError, E_USER_WARNING) : null;
             }
         }
         return false;
     }
     // Query was an insert, delete, update, replace
     $is_insert = false;
     if (preg_match("/^(insert|delete|update|replace)\\s+/i", $query)) {
         $this->rows_affected = @sqlsrv_rows_affected($this->dbh);
         // Take note of the insert_id
         if (preg_match("/^(insert|replace)\\s+/i", $query)) {
             $identityresultset = @sqlsrv_query($this->dbh, "select SCOPE_IDENTITY()");
             if ($identityresultset != false) {
                 $identityrow = @sqlsrv_fetch($identityresultset);
                 $this->insert_id = $identityrow[0];
             }
         }
         // Return number of rows affected
         $return_val = $this->rows_affected;
     } else {
         // Take note of column info
         $i = 0;
         foreach (@sqlsrv_field_metadata($this->result) as $field) {
             foreach ($field as $name => $value) {
                 $name = strtolower($name);
                 if ($name == "size") {
                     $name = "max_length";
                 } else {
                     if ($name == "type") {
                         $name = "typeid";
                     }
                 }
                 $col->{$name} = $value;
             }
             $col->type = $this->get_datatype($col);
             $this->col_info[$i++] = $col;
             unset($col);
         }
         // Store Query Results
         $num_rows = 0;
         while ($row = @sqlsrv_fetch_object($this->result)) {
             // Store relults as an objects within main array
             $this->last_result[$num_rows] = $row;
             $num_rows++;
         }
         @sqlsrv_free_stmt($this->result);
         // Log number of rows the query returned
         $this->num_rows = $num_rows;
         // Return number of rows selected
         $return_val = $this->num_rows;
     }
     // disk caching of queries
     $this->store_cache($query, $is_insert);
     // If debug ALL queries
     $this->trace || $this->debug_all ? $this->debug() : null;
     return $return_val;
 }
Example #12
0
 /**
  * @brief 결과를 fetch
  **/
 function _fetch($result)
 {
     if (!$this->isConnected() || $this->isError() || !$result) {
         return;
     }
     $c = sqlsrv_num_fields($result);
     $m = null;
     $output = array();
     while (sqlsrv_fetch($result)) {
         if (!$m) {
             $m = sqlsrv_field_metadata($result);
         }
         unset($row);
         for ($i = 0; $i < $c; $i++) {
             $row->{$m[$i]['Name']} = sqlsrv_get_field($result, $i, SQLSRV_PHPTYPE_STRING('utf-8'));
         }
         $output[] = $row;
     }
     if (count($output) == 1) {
         return $output[0];
     }
     return $output;
 }
Example #13
0
function checkDBSettings($silent = false)
{
    installLog("Begin DB Check Process *************");
    if (function_exists('mysqli_connect')) {
        $_SESSION['mysql_type'] = 'mysqli';
    }
    if (function_exists('sqlsrv_connect')) {
        $_SESSION['mssql_type'] = 'sqlsrv';
    }
    global $mod_strings;
    $errors = array();
    copyInputsIntoSession();
    installLog("Checking DB Name is valid.");
    $_SESSION['setup_db_database_name'] = trim($_SESSION['setup_db_database_name']);
    if ($_SESSION['setup_db_database_name'] == '') {
        $errors['ERR_DB_NAME'] = $mod_strings['ERR_DB_NAME'];
        installLog("ERROR::  {$errors['ERR_DB_NAME']}");
    }
    if (!isValidDBName($_SESSION['setup_db_database_name'], $_SESSION['setup_db_type'])) {
        $errIdx = 'ERR_DB_' . strtoupper($_SESSION['setup_db_type']) . '_DB_NAME_INVALID';
        $errors[$errIdx] = $mod_strings[$errIdx];
        installLog("ERROR::  {$errors[$errIdx]}");
    }
    if ($_SESSION['setup_db_type'] != 'oci8') {
        if (trim($_SESSION['setup_db_host_name']) == '') {
            $errors['ERR_DB_HOSTNAME'] = $mod_strings['ERR_DB_HOSTNAME'];
            installLog("ERROR::  {$errors['ERR_DB_HOSTNAME']}");
        }
    }
    //check to see that password and retype are same, if needed
    if (isset($_SESSION['dbUSRData']) && !empty($_SESSION['dbUSRData']) && ($_SESSION['dbUSRData'] == 'create' || $_SESSION['dbUSRData'] == 'provide')) {
        if ($_SESSION['setup_db_sugarsales_password'] != $_SESSION['setup_db_sugarsales_password_retype']) {
            $errors['ERR_DBCONF_PASSWORD_MISMATCH'] = $mod_strings['ERR_DBCONF_PASSWORD_MISMATCH'];
            installLog("ERROR::  {$errors['ERR_DBCONF_PASSWORD_MISMATCH']}");
        }
    }
    // bail if the basic info isn't valid
    if (count($errors) > 0) {
        installLog("Basic form info is INVALID, exit Process.");
        return printErrors($errors);
    } else {
        installLog("Basic form info is valid, continuing Process.");
    }
    // test the account that will talk to the db if we're not creating it
    if ($_SESSION['setup_db_sugarsales_user'] != '' && !$_SESSION['setup_db_create_sugarsales_user']) {
        if ($_SESSION['setup_db_type'] == 'mysql') {
            installLog("testing with mysql");
            if (isset($_SESSION['mysql_type']) && $_SESSION['mysql_type'] == 'mysqli') {
                installLog("MySQLI library detected");
            }
            if (isset($_SESSION['mysql_type'])) {
                $host_name = getHostPortFromString($_SESSION['setup_db_host_name']);
                if (empty($host_name)) {
                    $link = @mysqli_connect($_SESSION['setup_db_host_name'], $_SESSION['setup_db_sugarsales_user'], $_SESSION['setup_db_sugarsales_password']);
                } else {
                    $link = @mysqli_connect($host_name[0], $_SESSION['setup_db_sugarsales_user'], $_SESSION['setup_db_sugarsales_password'], null, $host_name[1]);
                }
            } else {
                $link = @mysql_connect($_SESSION['setup_db_host_name'], $_SESSION['setup_db_sugarsales_user'], $_SESSION['setup_db_sugarsales_password']);
            }
            if (!$link) {
                installLog("Could not make Connection using  host: {$_SESSION['setup_db_host_name']}, usr: {$_SESSION['setup_db_sugarsales_user']}");
                if (isset($_SESSION['mysql_type'])) {
                    $errno = mysqli_connect_errno();
                    $error = mysqli_connect_error();
                } else {
                    $errno = mysql_errno();
                    $error = mysql_error();
                }
                $errors['ERR_DB_LOGIN_FAILURE'] = $mod_strings['ERR_DB_LOGIN_FAILURE_MYSQL'];
                installLog("ERROR::  {$errors['ERR_DB_LOGIN_FAILURE']}");
            } else {
                installLog("Connection made using  host: {$_SESSION['setup_db_host_name']}, usr: {$_SESSION['setup_db_sugarsales_user']}");
                if (isset($_SESSION['mysql_type'])) {
                    mysqli_close($link);
                } else {
                    mysql_close($link);
                }
            }
        } elseif ($_SESSION['setup_db_type'] == 'mssql') {
            installLog("testing with mssql");
            $connect_host = "";
            $_SESSION['setup_db_host_instance'] = trim($_SESSION['setup_db_host_instance']);
            if (empty($_SESSION['setup_db_host_instance'])) {
                $connect_host = $_SESSION['setup_db_host_name'];
            } else {
                $connect_host = $_SESSION['setup_db_host_name'] . "\\" . $_SESSION['setup_db_host_instance'];
            }
            if (isset($_SESSION['mssql_type'])) {
                $connect_params = array("UID" => $_SESSION['setup_db_sugarsales_user'], "PWD" => $_SESSION['setup_db_sugarsales_password'], "MultipleActiveResultSets" => false);
                $link = sqlsrv_connect($connect_host, $connect_params);
            } else {
                $link = @mssql_connect($connect_host, $_SESSION['setup_db_sugarsales_user'], $_SESSION['setup_db_sugarsales_password']);
            }
            if (!$link) {
                $errors['ERR_DB_LOGIN_FAILURE'] = $mod_strings['ERR_DB_LOGIN_FAILURE_MSSQL'];
                installLog("ERROR::  {$errors['ERR_DB_LOGIN_FAILURE']}");
            } else {
                installLog("Connection made using  host: {$_SESSION['setup_db_host_name']}, usr: {$_SESSION['setup_db_sugarsales_user']}");
                if (isset($_SESSION['mssql_type'])) {
                    sqlsrv_close($link);
                } else {
                    mssql_close($link);
                }
            }
            // Bug 29855 - Check to see if given db name is valid
            //                if (preg_match("/^[0-9#@]+|[\"\'\*\/\\?\:\\<\>\-\ \&\!\(\)\[\]\{\}\;\,\.\`\~\|\\\\]+/i", $_SESSION['setup_db_database_name']) ) {
            //                    $errors['ERR_DB_MSSQL_DB_NAME'] = $mod_strings['ERR_DB_MSSQL_DB_NAME_INVALID'];
            //                    installLog("ERROR::  {$errors['ERR_DB_MSSQL_DB_NAME']}");
            //                }
            //                Moved to isValidDBName function in db_utils.php
        } elseif ($_SESSION['setup_db_type'] == 'oci8') {
        }
    }
    // privileged account tests
    if ($_SESSION['setup_db_admin_user_name'] == '') {
        $errors['ERR_DB_PRIV_USER'] = $mod_strings['ERR_DB_PRIV_USER'];
        installLog("ERROR:: {$errors['ERR_DB_PRIV_USER']}");
    } else {
        installLog("Testing priviliged account...");
        if ($_SESSION['setup_db_type'] == 'mysql') {
            if (isset($_SESSION['mysql_type'])) {
                $host_name = getHostPortFromString($_SESSION['setup_db_host_name']);
                if (empty($host_name)) {
                    $link = @mysqli_connect($_SESSION['setup_db_host_name'], $_SESSION['setup_db_admin_user_name'], $_SESSION['setup_db_admin_password']);
                } else {
                    $link = @mysqli_connect($host_name[0], $_SESSION['setup_db_admin_user_name'], $_SESSION['setup_db_admin_password'], null, $host_name[1]);
                }
            } else {
                $link = @mysql_connect($_SESSION['setup_db_host_name'], $_SESSION['setup_db_admin_user_name'], $_SESSION['setup_db_admin_password']);
            }
            if ($link) {
                installLog("Connection made for Privileged admin account using  host: {$_SESSION['setup_db_host_name']}, usr: {$_SESSION['setup_db_admin_user_name']}");
                // database admin credentials are valid--can continue check on stuff
                if (isset($_SESSION['mysql_type'])) {
                    $db_selected = @mysqli_select_db($link, $_SESSION['setup_db_database_name']);
                } else {
                    $db_selected = @mysql_select_db($_SESSION['setup_db_database_name'], $link);
                }
                if ($silent == false && $db_selected && $_SESSION['setup_db_create_database'] && (!isset($_SESSION['setup_db_drop_tables']) || !$_SESSION['setup_db_drop_tables'])) {
                    $errStr = $mod_strings['ERR_DB_EXISTS_PROCEED'];
                    $errors['ERR_DB_EXISTS_PROCEED'] = $errStr;
                    installLog("ERROR:: {$errors['ERR_DB_EXISTS_PROCEED']}");
                } else {
                    if (!$db_selected && !$_SESSION['setup_db_create_database']) {
                        $errors['ERR_DB_EXISTS_NOT'] = $mod_strings['ERR_DB_EXISTS_NOT'];
                        installLog("ERROR:: {$errors['ERR_DB_EXISTS_NOT']}");
                    }
                }
                // test for upgrade and inform user about the upgrade wizard
                if ($db_selected) {
                    installLog("DB Selected, will reuse {$_SESSION['setup_db_database_name']}");
                    if (isset($_SESSION['mysql_type'])) {
                        $config_query = "SHOW TABLES LIKE 'config'";
                        $config_result = mysqli_query($link, $config_query);
                        $config_table_exists = mysqli_num_rows($config_result) == 1;
                        mysqli_free_result($config_result);
                        include 'sugar_version.php';
                        if (!$_SESSION['setup_db_drop_tables'] && $config_table_exists) {
                            $query = "SELECT COUNT(*) FROM config WHERE category='info' AND name='sugar_version' AND VALUE LIKE '{$sugar_db_version}'";
                            $result = mysqli_query($link, $query);
                            $row = mysqli_fetch_row($result);
                            if ($row[0] != 1 && $silent == false) {
                                $errors['ERR_DB_EXISTS_WITH_CONFIG'] = $mod_strings['ERR_DB_EXISTS_WITH_CONFIG'];
                                installLog("ERROR:: {$errors['ERR_DB_EXISTS_WITH_CONFIG']}");
                            }
                            mysqli_free_result($result);
                        }
                    } else {
                        $config_query = "SHOW TABLES LIKE 'config'";
                        $config_result = mysql_query($config_query, $link);
                        $config_table_exists = mysql_num_rows($config_result) == 1;
                        mysql_free_result($config_result);
                        include 'sugar_version.php';
                        if (!$_SESSION['setup_db_drop_tables'] && $config_table_exists) {
                            $query = "SELECT COUNT(*) FROM config WHERE category='info' AND name='sugar_version' AND VALUE LIKE '{$sugar_db_version}'";
                            $result = mysql_query($query, $link);
                            $row = mysql_fetch_row($result);
                            if ($row[0] != 1 && $silent == false) {
                                $errors['ERR_DB_EXISTS_WITH_CONFIG'] = $mod_strings['ERR_DB_EXISTS_WITH_CONFIG'];
                                installLog("ERROR:: {$errors['ERR_DB_EXISTS_WITH_CONFIG']}");
                            }
                            mysql_free_result($result);
                        }
                    }
                } else {
                    installLog("DB not selected, will create {$_SESSION['setup_db_database_name']}");
                }
                // check for existing SugarCRM database user if create flag is set,
                //user name has been given, and database has been selected (reusing db, not creating new one)
                if ($_SESSION['setup_db_create_sugarsales_user'] && $_SESSION['setup_db_sugarsales_user'] != '' && $db_selected) {
                    if (isset($_SESSION['mysql_type'])) {
                        $mysqli_db_selected = mysqli_select_db($link, 'mysql');
                        $user = $_SESSION['setup_db_sugarsales_user'];
                        $query = "select count(*) from user where User ='******'";
                        $result = mysqli_query($link, $query);
                        if (!$result) {
                            $errno = mysqli_connect_errno();
                            $error = mysqli_connect_error();
                            $errors['ERR_DB_ADMIN'] = $mod_strings['ERR_DB_ADMIN'] . $errno . ": {$error}).";
                            installLog("ERROR:: {$errors['ERR_DB_ADMIN']}");
                        } else {
                            $row = mysqli_fetch_row($result);
                            if ($row[0] == 1) {
                                $errors['ERR_DB_USER_EXISTS'] = $mod_strings['ERR_DB_USER_EXISTS'];
                                installLog("ERROR:: {$errors['ERR_DB_USER_EXISTS']}");
                            }
                            mysqli_free_result($result);
                        }
                    } else {
                        $mysql_db_selected = mysql_select_db('mysql', $link);
                        $user = $_SESSION['setup_db_sugarsales_user'];
                        $query = "select count(*) from user where User ='******'";
                        $result = mysql_query($query, $link);
                        if (!$result) {
                            $errno = mysql_errno();
                            $error = mysql_error();
                            $errors['ERR_DB_ADMIN'] = $mod_strings['ERR_DB_ADMIN'] . $errno . ": {$error}).";
                            installLog("ERROR:: {$errors['ERR_DB_ADMIN']}");
                        } else {
                            $row = mysql_fetch_row($result);
                            if ($row[0] == 1) {
                                $errors['ERR_DB_USER_EXISTS'] = $mod_strings['ERR_DB_USER_EXISTS'];
                                installLog("ERROR:: {$errors['ERR_DB_USER_EXISTS']}");
                                //do not throw errors, reuse existing user
                                //$_SESSION['setup_db_create_sugarsales_user'] = 0;
                            }
                            mysql_free_result($result);
                        }
                    }
                }
                // check mysql minimum version requirement
                $db_version = getMysqlVersion($link);
                if (version_compare($db_version, '4.1.2') < 0) {
                    $errors['ERR_DB_MYSQL_VERSION1'] = $mod_strings['ERR_DB_MYSQL_VERSION1'] . $db_version . $mod_strings['ERR_DB_MYSQL_VERSION2'];
                    installLog("ERROR:: {$errors['ERR_DB_MYSQL_VERSION1']}");
                } else {
                    installLog("Passed DB Version check, version is {$db_version}");
                }
                if (isset($_SESSION['mysql_type'])) {
                    mysqli_close($link);
                } else {
                    mysql_close($link);
                }
            } else {
                // dblink was bad
                if (isset($_SESSION['mysql_type'])) {
                    $errno = mysqli_connect_errno();
                    $error = mysqli_connect_error();
                } else {
                    $errno = mysql_errno();
                    $error = mysql_error();
                }
                $errors['ERR_DB_ADMIN'] = $mod_strings['ERR_DB_ADMIN'] . $errno . ": {$error}).";
                installLog("ERROR:: {$errors['ERR_DB_ADMIN']}");
            }
        } else {
            if ($_SESSION['setup_db_type'] == 'mssql') {
                installLog("Testing priviliged account...");
                $connect_host = "";
                $_SESSION['setup_db_host_instance'] = trim($_SESSION['setup_db_host_instance']);
                if (empty($_SESSION['setup_db_host_instance'])) {
                    $connect_host = $_SESSION['setup_db_host_name'];
                } else {
                    $connect_host = $_SESSION['setup_db_host_name'] . "\\" . $_SESSION['setup_db_host_instance'];
                }
                if (isset($_SESSION['mssql_type'])) {
                    $connect_params = array("UID" => $_SESSION['setup_db_sugarsales_user'], "PWD" => $_SESSION['setup_db_sugarsales_password'], "MultipleActiveResultSets" => false);
                    $link = sqlsrv_connect($connect_host, $connect_params);
                } else {
                    $link = @mssql_connect($connect_host, $_SESSION['setup_db_admin_user_name'], $_SESSION['setup_db_admin_password']);
                }
                if ($link) {
                    installLog("Connection made for Privileged admin account using  host: {$_SESSION['setup_db_host_name']}, usr: {$_SESSION['setup_db_admin_user_name']}");
                    // database admin credentials are valid--can continue check on stuff
                    $tbl_exists_qry = "SELECT name FROM master..sysdatabases WHERE name = N'{$_SESSION['setup_db_database_name']}'";
                    if (isset($_SESSION['mssql_type'])) {
                        $res = sqlsrv_query($link, $tbl_exists_qry);
                    } else {
                        $res = mssql_query($tbl_exists_qry);
                    }
                    $db_exists = false;
                    if (isset($_SESSION['mssql_type']) && sqlsrv_fetch($res) == 1) {
                        $db_exists = true;
                        installLog("DB Exists and selected, will reuse {$_SESSION['setup_db_database_name']}");
                    } elseif (!isset($_SESSION['mssql_type']) && mssql_num_rows($res) == 1) {
                        $db_exists = true;
                        installLog("DB Exists and selected, will reuse {$_SESSION['setup_db_database_name']}");
                    } else {
                        installLog("No DB Selected, will create {$_SESSION['setup_db_database_name']}");
                    }
                    if ($silent == false && $db_exists && $_SESSION['setup_db_create_database'] && (!isset($_SESSION['setup_db_drop_tables']) || !$_SESSION['setup_db_drop_tables'])) {
                        $errStr = $mod_strings['ERR_DB_EXISTS_PROCEED'];
                        $errors['ERR_DB_EXISTS_PROCEED'] = $errStr;
                        installLog("ERROR:: {$errors['ERR_DB_EXISTS_PROCEED']}");
                    } else {
                        if (!$db_exists && !$_SESSION['setup_db_create_database']) {
                            $errors['ERR_DB_EXISTS_NOT'] = $mod_strings['ERR_DB_EXISTS_NOT'];
                            installLog("ERROR:: {$errors['ERR_DB_EXISTS_NOT']}");
                        }
                    }
                    // check for existing SugarCRM database user if create flag is set,
                    //user name has been given, and database has been selected (reusing db, not creating new one)
                    if ($_SESSION['setup_db_create_sugarsales_user'] && $_SESSION['setup_db_sugarsales_user'] != '') {
                        if (isset($_SESSION['mssql_type'])) {
                            $mssql_db_selected = (bool) sqlsrv_query($link, 'USE master');
                            $user = $_SESSION['setup_db_sugarsales_user'];
                            $query = "select count(*) from sys.sql_logins where name ='{$user}'";
                            $result = sqlsrv_query($link, $query);
                            if (!$result) {
                                $errors['ERR_DB_ADMIN'] = $mod_strings['ERR_DB_ADMIN'];
                                installLog("ERROR:: {$errors['ERR_DB_ADMIN']}");
                            } else {
                                $row = sqlsrv_fetch_array($result);
                                if ($row[0] == 1) {
                                    $errors['ERR_DB_USER_EXISTS'] = $mod_strings['ERR_DB_USER_EXISTS'];
                                    installLog("ERROR:: {$errors['ERR_DB_USER_EXISTS']}");
                                }
                                sqlsrv_free_stmt($result);
                            }
                        } else {
                            $mssql_db_selected = mssql_select_db('master', $link);
                            $user = $_SESSION['setup_db_sugarsales_user'];
                            $query = "select count(*) from sys.sql_logins where name ='{$user}'";
                            $result = mssql_query($query, $link);
                            if (!$result) {
                                $errors['ERR_DB_ADMIN'] = $mod_strings['ERR_DB_ADMIN'];
                                installLog("ERROR:: {$errors['ERR_DB_ADMIN']}");
                            } else {
                                $row = mssql_fetch_row($result);
                                if ($row[0] == 1) {
                                    $errors['ERR_DB_USER_EXISTS'] = $mod_strings['ERR_DB_USER_EXISTS'];
                                    installLog("ERROR:: {$errors['ERR_DB_USER_EXISTS']}");
                                }
                                mssql_free_result($result);
                            }
                        }
                    }
                    if (isset($_SESSION['mssql_type'])) {
                        sqlsrv_close($link);
                    } else {
                        mssql_close($link);
                    }
                } else {
                    // dblink was bad
                    $errors['ERR_DB_ADMIN_MSSQL'] = $mod_strings['ERR_DB_ADMIN_MSSQL'] . $connect_host;
                    installLog("ERROR:: {$errors['ERR_DB_ADMIN_MSSQL']}");
                }
            } else {
                if ($_SESSION['setup_db_type'] == 'oci8') {
                }
            }
        }
    }
    // end of privileged user tests
    if ($silent) {
        return $errors;
    } else {
        printErrors($errors);
    }
    installLog("End DB Check Process *************");
}
Example #14
0
 } else {
     $params = array();
     $options = array("Scrollable" => 'static');
     $adminsSQL = "\n        SELECT I.InstitutionName, A.FirstName, A.LastName, A.AdministratorID, R.Designation, CONVERT(VARCHAR(11), SU.date_added, 106)\n        FROM Institutions as I, Administrators as A, RoleInstances as RI, Roles as R, SiteUsers as SU\n        WHERE A.RoleInstanceID = RI.RoleInstanceID AND\n              SU.username = A.SiteUsername AND\n              RI.RoleID = R.RoleID AND\n              R.Role = 'Admin' AND\n              I.InstitutionID = A.InstitutionID";
     $admins = sqlsrv_query($con, $adminsSQL, $params, $options);
     if ($admins === false) {
         die(print_r(sqlsrv_errors(), true));
     }
     $num_admins = sqlsrv_num_rows($admins);
     $institutions = [];
     $fnames = [];
     $lnames = [];
     $adminids = [];
     $designations = [];
     $dates = [];
     while (sqlsrv_fetch($admins) === true) {
         $institutions[] = sqlsrv_get_field($admins, 0);
         $fnames[] = sqlsrv_get_field($admins, 1);
         $lnames[] = sqlsrv_get_field($admins, 2);
         $adminids[] = sqlsrv_get_field($admins, 3);
         $designations[] = sqlsrv_get_field($admins, 4);
         $dates[] = sqlsrv_get_field($admins, 5);
     }
     ?>
     <body>
         <div id="wrapper">
             <div id="sidebar"></div>
             <div id="page-content-wrapper">
                 <button type="button" class="hamburger is-closed" data-toggle="offcanvas">
                                 <span class="hamb-top"></span>
                                 <span class="hamb-middle"></span>
Example #15
0
 /**
  * Returns a single column from the next row of a result set.
  *
  * @param int $col OPTIONAL Position of the column to fetch.
  * @return string
  * @throws \Zend\DB\Statement\Exception
  */
 public function fetchColumn($col = 0)
 {
     if (!$this->_stmt) {
         return false;
     }
     if (!sqlsrv_fetch($this->_stmt)) {
         if (null !== ($error = sqlsrv_errors())) {
             throw new Exception($error);
         }
         // If no error, there is simply no record
         return false;
     }
     $data = sqlsrv_get_field($this->_stmt, $col);
     //0-based
     if ($data === false) {
         throw new Exception(sqlsrv_errors());
     }
     return $data;
 }
 /**
  * Get a number of records as a moodle_recordset using a SQL statement.
  *
  * Since this method is a little less readable, use of it should be restricted to
  * code where it's possible there might be large datasets being returned.  For known
  * small datasets use get_records_sql - it leads to simpler code.
  *
  * The return type is like:
  * @see function get_recordset.
  *
  * @param string $sql the SQL select query to execute.
  * @param array $params array of sql parameters
  * @param int $limitfrom return a subset of records, starting at this point (optional, required if $limitnum is set).
  * @param int $limitnum return a subset comprising this many records (optional, required if $limitfrom is set).
  * @return moodle_recordset instance
  * @throws dml_exception A DML specific exception is thrown for any errors.
  */
 public function get_recordset_sql($sql, array $params = null, $limitfrom = 0, $limitnum = 0)
 {
     list($limitfrom, $limitnum) = $this->normalise_limit_from_num($limitfrom, $limitnum);
     if ($limitfrom or $limitnum) {
         if ($limitnum >= 1) {
             // Only apply TOP clause if we have any limitnum (limitfrom offset is handled later)
             $fetch = $limitfrom + $limitnum;
             if (PHP_INT_MAX - $limitnum < $limitfrom) {
                 // Check PHP_INT_MAX overflow
                 $fetch = PHP_INT_MAX;
             }
             $sql = preg_replace('/^([\\s(])*SELECT([\\s]+(DISTINCT|ALL))?(?!\\s*TOP\\s*\\()/i', "\\1SELECT\\2 TOP {$fetch}", $sql);
         }
     }
     $result = $this->do_query($sql, $params, SQL_QUERY_SELECT, false, (bool) $limitfrom);
     if ($limitfrom) {
         // Skip $limitfrom records
         sqlsrv_fetch($result, SQLSRV_SCROLL_ABSOLUTE, $limitfrom - 1);
     }
     return $this->create_recordset($result);
 }
Example #17
0
 /**
  * Query whether a given column exists in the mediawiki schema
  * @param string $table
  * @param string $field
  * @param string $fname
  * @return bool
  */
 public function fieldExists($table, $field, $fname = __METHOD__)
 {
     $table = $this->tableName($table);
     $res = sqlsrv_query($this->mConn, "SELECT DATA_TYPE FROM INFORMATION_SCHEMA.Columns\n\t\t\tWHERE TABLE_NAME = '{$table}' AND COLUMN_NAME = '{$field}'");
     if ($res === false) {
         print "Error in fieldExists query: " . $this->lastError();
         return false;
     }
     if (sqlsrv_fetch($res)) {
         return true;
     } else {
         return false;
     }
 }
Example #18
0
                 </div>
                 <div class="col-lg-5">
                     <div class="panel panel-primary" style="min-height:220px">
                         <div class="panel-heading">
                             Worksheet Details
                         </div>
                         <div class="panel-body">
                             <?php 
 $params = array($courseID, $worksheetNum, $courseID, $worksheetNum);
 $options = array("Scrollable" => 'static');
 $worksheetInfoQuery = "\n              SELECT DISTINCT [TO].Topic, LEFT(CONVERT(VARCHAR, E.Date, 120), 10) \n\t\t      FROM Expressions as E, Topics as [TO]\n              WHERE E.[Teachers&ClassesID] = ? AND\n                  E.[Worksheet#] = ? AND\n\t\t\t\t  [TO].Topic_ID = E.[Topic_ID] AND\n                  E.Date = (SELECT min(Date) FROM Expressions WHERE [Teachers&ClassesID] = ? AND [Worksheet#] = ?)";
 $stmt = sqlsrv_query($con, $worksheetInfoQuery, $params, $options);
 if ($stmt === false) {
     die(print_r(sqlsrv_errors(), true));
 }
 if (sqlsrv_fetch($stmt) === true) {
     $topic = sqlsrv_get_field($stmt, 0);
     $date = sqlsrv_get_field($stmt, 1);
 }
 echo "<p>Topic: {$topic}</p><p>Date: {$date}";
 ?>
                         </div>
                     </div>
                     
                 </div>
             </div>
             <div class="row">
                 <div class="col-lg-10">
                     <div class="panel panel-primary">
                         <div class="panel-heading">Worksheet display</div>
                         <!-- Select Rows Per Page -->
Example #19
0
function isInserted($stmt)
{
    sqlsrv_next_result($stmt);
    sqlsrv_fetch($stmt);
    return sqlsrv_get_field($stmt, 0);
}
 public function debugTable()
 {
     /* Retrieve the number of fields. */
     $numFields = sqlsrv_num_fields($this->result);
     echo '<table>';
     echo '<tr><td colspan="' . $numFields . '">' . $this->currentQuery . '</td></tr>';
     /* Iterate through each row of the result set. */
     do {
         echo '<tr>';
         /* Iterate through the fields of each row. */
         for ($i = 0; $i < $numFields; $i++) {
             echo '<td>' . sqlsrv_get_field($this->result, $i, SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_CHAR)) . '</td>';
         }
         echo '</tr>';
         echo "\n";
     } while (sqlsrv_fetch($this->result));
     echo '</table>';
     // Avoir un objet connexion et  reeécuter la requete
 }
Example #21
0
 <?php 
     $params = array($studentID);
     $studentexpressionsSQL = "SELECT E.Expression, E.[Context/Vocabulary], ST.SessionName, SI.Year, CT.CourseName, W.WorksheetNumber, W.WorksheetID\n            FROM Expressions E, SessionType ST, SessionInstance SI, CourseTypes CT, Courses C,  Worksheets W, Enrollment ER\n            WHERE ER.StudentID = ? AND\n                  C.CourseID = ER.CourseID AND\n                  W.CourseID = C.CourseID AND\n                  E.WorksheetID = W.WorksheetID AND\n                  E.EnrollmentID = ER.EnrollmentID AND\n                  CT.CourseTypesID = C.CourseTypesID AND\n                  SI.SessionInstanceID = C.SessionInstanceID AND\n                  ST.SessionTypeID = SI.SessionTypeID";
     $studentexpressions = sqlsrv_query($con, $studentexpressionsSQL, $params, $options);
     if ($studentexpressions === false) {
         die(print_r(sqlsrv_errors(), true));
     }
     $numexpressions = sqlsrv_num_rows($studentexpressions);
     $expressions = [];
     $contexts = [];
     $sessionnames = [];
     $years = [];
     $coursenames = [];
     $worksheetnums = [];
     $worksheetids = [];
     while (sqlsrv_fetch($studentexpressions) === true) {
         $expressions[] = sqlsrv_get_field($studentexpressions, 0);
         $contexts[] = sqlsrv_get_field($studentexpressions, 1);
         $sessionnames[] = sqlsrv_get_field($studentexpressions, 2);
         $years[] = sqlsrv_get_field($studentexpressions, 3);
         $coursenames[] = sqlsrv_get_field($studentexpressions, 4);
         $worksheetnums[] = sqlsrv_get_field($studentexpressions, 5);
         $worksheetids[] = sqlsrv_get_field($studentexpressions, 6);
     }
     for ($i = 0; $i < $numexpressions; $i++) {
         echo "<tr><td>{$expressions[$i]}</td>\n                      <td>{$contexts[$i]}</td>\n                      <td>{$sessionnames[$i]} {$years[$i]}</td>\n                      <td>{$coursenames[$i]}</td>\n                      <td>{$worksheetnums[$i]}</td>\n                      <td><form method=\"POST\" action=\"/teacher/Archive/Courses/ViewCourse/ViewWorksheet/\" name=\"worksheet{$worksheetids[$i]}\">\n                      <input hidden type=\"text\" value=\"{$worksheetids[$i]}\" name =\"worksheetID\">\n                      <button class=\"btn btn-primary\">View Worksheet</button></form></td></tr>";
     }
     ?>
                                         </tbody>
                                     </table>
                                 </div>
Example #22
0
 function _query($sql, $inputarr = false)
 {
     $this->_errorMsg = false;
     if (is_array($sql)) {
         $sql = $sql[1];
     }
     $insert = false;
     // handle native driver flaw for retrieving the last insert ID
     if (preg_match('/^\\W*insert\\s(?:(?:(?:\'\')*\'[^\']+\'(?:\'\')*)|[^;\'])*;?$/i', $sql)) {
         $insert = true;
         $sql .= '; ' . $this->identitySQL;
         // select scope_identity()
     }
     if ($inputarr) {
         $rez = sqlsrv_query($this->_connectionID, $sql, $inputarr);
     } else {
         $rez = sqlsrv_query($this->_connectionID, $sql);
     }
     if ($this->debug) {
         ADOConnection::outp("<hr>running query: " . var_export($sql, true) . "<hr>input array: " . var_export($inputarr, true) . "<hr>result: " . var_export($rez, true));
     }
     if (!$rez) {
         $rez = false;
     } else {
         if ($insert) {
             // retrieve the last insert ID (where applicable)
             while (sqlsrv_next_result($rez)) {
                 sqlsrv_fetch($rez);
                 $this->lastInsertID = sqlsrv_get_field($rez, 0);
             }
         }
     }
     return $rez;
 }
Example #23
0
 public function SqlSrvMoveNext()
 {
     if (!isset($this->sqlsrvConnection)) {
         return false;
     }
     if (!isset($this->sqlsrvStatement)) {
         return false;
     }
     if (!sqlsrv_fetch($this->sqlsrvStatement)) {
         return false;
     }
     foreach ($this->columnBindings as $k => $col) {
         if ($col[1]) {
             $col[0] = sqlsrv_get_field($this->sqlsrvStatement, $k, SQLSRV_PHPTYPE_STREAM(SQLSRV_ENC_CHAR));
         } else {
             $col[0] = sqlsrv_get_field($this->sqlsrvStatement, $k);
         }
     }
     return true;
 }
 public function execute($params = null)
 {
     if ($params) {
         $hasZeroIndex = array_key_exists(0, $params);
         foreach ($params as $key => $val) {
             $key = $hasZeroIndex && is_numeric($key) ? $key + 1 : $key;
             $this->bindValue($key, $val);
         }
     }
     $this->stmt = sqlsrv_query($this->conn, $this->sql, $this->params);
     if (!$this->stmt) {
         throw SQLSrvException::fromSqlSrvErrors();
     }
     if ($this->lastInsertId) {
         sqlsrv_next_result($this->stmt);
         sqlsrv_fetch($this->stmt);
         $this->lastInsertId->setId(sqlsrv_get_field($this->stmt, 0));
     }
 }
Example #25
0
 /**
  * Checks if there's a sequence that exists.
  *
  * @param  string $seq_name    The sequence name to verify.
  * @return bool   $tableExists The value if the table exists or not
  * @access private
  */
 function _checkSequence($seq_name)
 {
     $query = "SELECT * FROM {$seq_name}";
     $tableExists =& $this->_doQuery($query, true);
     if (MDB2::isError($tableExists)) {
         if ($tableExists->getCode() == MDB2_ERROR_NOSUCHTABLE) {
             return false;
         }
         return false;
     }
     if (@sqlsrv_fetch($tableExists)) {
         return true;
     }
     return false;
 }
 /**
  * Low level handling getting a row from a result set; automatically
  * makes all fetched values strings, just like the other PHP db functions.
  * We have to do this since the sqlsrv extension returns row values in thier
  * native types, which causes problems with how we handle things.
  *
  * @param  resource $result
  * @return array
  */
 private function _fetchRowAssoc($result)
 {
     if (!is_resource($result)) {
         return false;
     }
     $row = array();
     $fieldnames = $this->getFieldsArray($result);
     $fieldMetaData = sqlsrv_field_metadata($result);
     if (sqlsrv_fetch($result)) {
         for ($i = 0; $i < sqlsrv_num_fields($result); $i++) {
             if ($fieldMetaData[$i]['Type'] == -9 || $fieldMetaData[$i]['Type'] >= SQLSRV_SQLTYPE_NVARCHAR(1) && $fieldMetaData[$i]['Type'] <= SQLSRV_SQLTYPE_NVARCHAR(8000) || $fieldMetaData[$i]['Type'] >= SQLSRV_SQLTYPE_NCHAR(1) && $fieldMetaData[$i]['Type'] <= SQLSRV_SQLTYPE_NCHAR(8000) || $fieldMetaData[$i]['Type'] == SQLSRV_SQLTYPE_NVARCHAR('max') || $fieldMetaData[$i]['Type'] == SQLSRV_SQLTYPE_NCHAR('max')) {
                 $row[$fieldnames[$i]] = iconv("utf-16le", "utf-8", sqlsrv_get_field($result, $i, SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_BINARY)));
             } else {
                 $row[$fieldnames[$i]] = sqlsrv_get_field($result, $i, SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_CHAR));
             }
         }
     } else {
         sqlsrv_free_stmt($result);
     }
     return $row;
 }
include '../../../../base.php';
if (isset($_POST['worksheetID']) && isset($_POST['courseID'])) {
    $sentence_number = isset($_POST['newexpressionnumber']) ? $_POST['newexpressionnumber'] : 0;
    $worksheetID = $_POST['worksheetID'];
    $courseID = $_POST['courseID'];
    $params = array($worksheetID);
    $options = array("Scrollable" => 'static');
    $coursestudentsSQL = "SELECT S.StudentID, S.FirstName, S.LastName\n                          FROM Enrollment as ER, Worksheets as W, Courses C, Students S\n                          WHERE W.WorksheetID = ? AND\n                                C.CourseID = W.CourseID AND\n                                ER.CourseID = C.CourseID AND\n                                S.StudentID = ER.StudentID";
    $coursestudents = sqlsrv_query($con, $coursestudentsSQL, $params, $options);
    if ($coursestudents === false) {
        die(print_r(sqlsrv_errors(), true));
    }
    $num_students = sqlsrv_num_rows($coursestudents);
    $studentsids = [];
    $first_names = [];
    $last_names = [];
    while (sqlsrv_fetch($coursestudents) === true) {
        $studentids[] = sqlsrv_get_field($coursestudents, 0);
        $first_names[] = sqlsrv_get_field($coursestudents, 1);
        $last_names[] = sqlsrv_get_field($coursestudents, 2);
    }
    echo "\n<div class=\"panel-body\">\n    <div class=\"control-group controls\" id=\"fields\">\n        <form>\n            <input hidden type=\"text\" name=\"newexpressionnumber\" value=\"{$sentence_number}\">\n            <input hidden type=\"text\" name=\"worksheetID\" value=\"{$worksheetID}\">\n            <input hidden type=\"text\" name=\"courseID\" value=\"{$courseID}\">\n            <div class=\"form-group row\">\n                \n                <div class=\"col-xs-4 col-md-6\">\n                    <h4 style=\"text-decoration:underline\">Sentence #{$sentence_number}</h4>\n                    <label>Student:\n                    <select class=\"form-control\" name=\"selectstudent\">\n                        <option  selected=\"selected\" value=\"0\">--Select Student--</option>";
    for ($i = 0; $i < $num_students; $i++) {
        echo "<option value=\"{$studentids[$i]}\">{$first_names[$i]} {$last_names[$i]}</option>";
    }
    echo "                       \n                    </select></label>\n                </div>\n                <div class=\"col-xs-2\">\n                    <div class=\"radio\">\n                        <label><input type=\"radio\" value=\"all\" name=\"alldo\">All-Do</label>\n                    </div>\n                    <div class=\"radio\">\n                        <label><input type=\"radio\" value=\"individual\" name=\"alldo\" checked=\"checked\">Individual</label>\n                    </div>\n\n                    \n                </div>\n            </div>\n            <div class=\"form-group row\">\n                <div class=\"col-md-8 col-xs-12\">\n                    <label for=\"CorrectedExpr\">Expression:</label>\n                        <input type=\"text\" class=\"form-control\" name=\"Expression\">\n                </div>\n            </div>\n            <div class=\"form-group row\">\n                <div class=\"col-md-5 col-xs-7\">\n                    <label for=\"ContextVocab\">Context/Vocab: </label>\n                    <input name=\"ContextVocab\"  type=\"text\" class=\"form-control\">\n                </div>\n                <div class=\"col-md-3 col-xs-5\">\n                    <label for=\"PronCorr\">Pronunciation:</label>\n                    <input type=\"text\"  class=\"form-control\" name=\"Pronunciation\">\n                </div>\n            </div>\n            \n            <div class=\"form-group row\">\n                <div class=\"col-xs-12\">\n                    <div class=\"btn-group\" role=\"group\">\n                        <button type=\"button\" name=\"SaveExpression\"  class=\"btn btn-primary\">Save</button>\n                    </div>";
    /*<div class=\"btn-group\" role=\"group\">
          <button type=\"button\" id=\"SaveAndCreateNewExpression\"  class=\"btn btn-primary\">Save and Create a New Expression</button>
      </div>*/
    echo "\n                </div>\n            </div>\n        </form>\n    </div>\n</div>\n";
}
 function move_fetch($rownum)
 {
     // add relative offset for poor performance--no use
     // add cache for previous field
     if (isset($this->previousfields[$rownum])) {
         $this->fields = $this->previousfields[$rownum];
         sqlsrv_fetch($this->_queryID, SQLSRV_SCROLL_ABSOLUTE, $rownum);
         return $this->fields;
     }
     $current_row = $this->_currentRow;
     if ($current_row >= 0 && $current_row < $this->_numOfRows) {
         $is_absolute = false;
         $relativeoffset = $rownum - $current_row;
     } else {
         $is_absolute = true;
     }
     if ($this->connection->debug) {
         error_log("_fetch()");
     }
     if ($this->fetchMode & ADODB_FETCH_ASSOC) {
         if ($this->fetchMode & ADODB_FETCH_NUM) {
             if ($this->connection->debug) {
                 error_log("fetch mode: both");
             }
             if ($is_absolute) {
                 $this->fields = @sqlsrv_fetch_array($this->_queryID, SQLSRV_FETCH_BOTH, SQLSRV_SCROLL_ABSOLUTE, $rownum);
             } else {
                 $this->fields = @sqlsrv_fetch_array($this->_queryID, SQLSRV_FETCH_BOTH, SQLSRV_SCROLL_RELATIVE, $relativeoffset);
             }
         } else {
             if ($this->connection->debug) {
                 error_log("fetch mode: assoc");
             }
             if ($is_absolute) {
                 $this->fields = @sqlsrv_fetch_array($this->_queryID, SQLSRV_FETCH_ASSOC, SQLSRV_SCROLL_ABSOLUTE, $rownum);
             } else {
                 $this->fields = @sqlsrv_fetch_array($this->_queryID, SQLSRV_FETCH_ASSOC, SQLSRV_SCROLL_RELATIVE, $relativeoffset);
             }
         }
         if (ADODB_ASSOC_CASE == 0) {
             foreach ($this->fields as $k => $v) {
                 $this->fields[strtolower($k)] = $v;
             }
         } else {
             if (ADODB_ASSOC_CASE == 1) {
                 foreach ($this->fields as $k => $v) {
                     $this->fields[strtoupper($k)] = $v;
                 }
             }
         }
     } else {
         if ($this->connection->debug) {
             error_log("fetch mode: num");
         }
         if ($is_absolute) {
             $this->fields = @sqlsrv_fetch_array($this->_queryID, SQLSRV_FETCH_NUMERIC, SQLSRV_SCROLL_ABSOLUTE, $rownum);
         } else {
             $this->fields = @sqlsrv_fetch_array($this->_queryID, SQLSRV_FETCH_NUMERIC, SQLSRV_SCROLL_RELATIVE, $relativeoffset);
         }
     }
     $metadatahash = $this->get_rs_metadata($this->_queryID);
     if (is_array($this->fields) && array_key_exists(1, $this->fields) && !array_key_exists(0, $this->fields)) {
         //fix fetch numeric keys since they're not 0 based
         $arrFixed = array();
         foreach ($this->fields as $key => $value) {
             if (is_numeric($key)) {
                 $arrFixed[$key - 1] = $value;
             } else {
                 $arrFixed[$key] = $value;
             }
         }
         //if($this->connection->debug) error_log("<hr>fixing non 0 based return array, old: ".print_r($this->fields,true)." new: ".print_r($arrFixed,true));
         $this->fields = $arrFixed;
     }
     if (is_array($this->fields)) {
         foreach ($this->fields as $key => $value) {
             if (is_object($value) && method_exists($value, 'format')) {
                 //is DateTime object
                 $this->fields[$key] = $value->format("Y-m-d H:i:s");
             }
             if (isset($metadatahash[$key]) && $metadatahash[$key] == 2) {
                 $this->fields[$key] = (double) $value;
             }
         }
     }
     if ($this->fields === null) {
         $this->fields = false;
     }
     if ($this->connection->debug) {
         error_log("<hr>after _fetch, fields: <pre>" . print_r($this->fields, true) . " backtrace: " . adodb_backtrace(false));
     }
     if ($this->fields) {
         $this->previousfields = array($rownum => $this->fields);
     }
     return $this->fields;
 }
Example #29
0
 /**
  * Returns a single column from the next row of a result set.
  *
  * @param int $col OPTIONAL Position of the column to fetch.
  * @return string
  * @throws Zend_Db_Statement_Exception
  */
 public function fetchColumn($col = 0)
 {
     if (!$this->_stmt) {
         return false;
     }
     if (!sqlsrv_fetch($this->_stmt)) {
         if (null !== ($error = sqlsrv_errors())) {
             require_once 'include/Zend/Db/Statement/Sqlsrv/Exception.php';
             throw new Zend_Db_Statement_Sqlsrv_Exception($error);
         }
         // If no error, there is simply no record
         return false;
     }
     $data = sqlsrv_get_field($this->_stmt, $col);
     //0-based
     if ($data === false) {
         require_once 'include/Zend/Db/Statement/Sqlsrv/Exception.php';
         throw new Zend_Db_Statement_Sqlsrv_Exception(sqlsrv_errors());
     }
     return $data;
 }
Example #30
0
if (!check_user()) {
    echo "<script>window.location.href='login.php';</script>";
    exit;
}
$tag = 1;
$isbn = $_GET['isbn'];
//连接数据库模块
$serverName = "localhost";
$uid = "sa";
$pwd = "123456";
$connectionInfo = array("UID" => $uid, "PWD" => $pwd, "Database" => "MBOOK");
$conn = sqlsrv_connect($serverName, $connectionInfo);
sqlsrv_query($conn, "set names GB2312");
$sql = "SELECT  * FROM TBook WHERE TBook.ISBN='{$isbn}'";
$result = sqlsrv_query($conn, $sql);
$row = sqlsrv_fetch($result);
$book_name = sqlsrv_get_field($result, 1);
$author = sqlsrv_get_field($result, 2);
$publisher = sqlsrv_get_field($result, 3);
$publish_date = sqlsrv_get_field($result, 4, SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_CHAR));
$price = sqlsrv_get_field($result, 5);
$fuben_num = sqlsrv_get_field($result, 6);
$store_num = sqlsrv_get_field($result, 7);
$type_num = sqlsrv_get_field($result, 8);
$content_view = sqlsrv_get_field($result, 9);
$sql = "SELECT * FROM  TBLend WHERE ISBN='{$isbn}' AND 是否借出=0";
$result = sqlsrv_query($conn, $sql);
require_once "top_menu.php";
?>
    <!--内容模块-->
    <div class="container">