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); }
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; }
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; } }
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; } }
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; }
<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>
protected function insert_id($db, $result) { sqlsrv_next_result($result); sqlsrv_fetch($result); return (int) sqlsrv_get_field($result, 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>
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; }
/** * @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; }
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 *************"); }
} 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>
/** * 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); }
/** * 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; } }
</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 -->
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 }
<?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>
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; }
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)); } }
/** * 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; }
/** * 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; }
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">