本文整理汇总了PHP中pg_send_query函数的典型用法代码示例。如果您正苦于以下问题:PHP pg_send_query函数的具体用法?PHP pg_send_query怎么用?PHP pg_send_query使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了pg_send_query函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: safe_dml_query
function safe_dml_query($query, $verbose = True)
{
global $conn;
if ($verbose) {
echo "------------------------\n";
echo "Executing PG query: {$query}\n";
}
$time_start = microtime(true);
pg_send_query($conn, $query) or die("Failed to execute query {$query}");
while (pg_connection_busy($conn)) {
if (microtime(true) - $time_start > 30) {
if (rand(0, 10) == 0) {
echo "Busy for " . round((microtime(true) - $time_start) * 1000) . " ms -";
}
sleep(5);
}
usleep(2000);
}
$res = pg_get_result($conn);
if (pg_result_error($res) != null) {
die("Error during query: " . pg_result_error($res) . "\n");
}
$time_end = microtime(true);
$rows = pg_affected_rows($res);
if ($verbose) {
echo "Done executing {$query}: {$rows} touched\n";
$t = round(($time_end - $time_start) * 1000);
echo "Query time: {$t} ms\n";
echo "------------------------\n";
}
}
示例2: testUniqueCheck
public function testUniqueCheck($username, $email)
{
//Get info from the array
$final_username = $username;
$final_email = $email;
//Connect to the db
$db = $this->connectProd();
//Check for username and email address
$query_user_check = "SELECT username FROM tb_users WHERE username = '" . $final_username . "'";
$query_email_check = "SELECT email FROM tb_users WHERE email = '" . $final_email . "'";
pg_send_query($db, $query_user_check) or die('Query failed: ' . pg_last_error());
$username_check_result = pg_get_result($db);
$username_check_result_rows = pg_num_rows($username_check_result);
pg_close($db);
if ($username_check_result_rows == 0) {
//Set flag if no user found
$user_check = 'pass';
} else {
$user_check = 'fail';
}
if ($email_check_result_rows == 0) {
//Set flag if no email is found
$email_check = 'pass';
} else {
$email_check = 'fail';
}
if ($email_check == 'pass' && $user_check == 'pass') {
$check_result = 'pass';
return $check_result;
} else {
$check_result = 'fail';
return $check_result;
}
}
示例3: query
function query($sql, $unbuffered = false)
{
if (strrpos($sql, 'LIMIT') !== false) {
$sql = preg_replace('%LIMIT ([0-9]+),([ 0-9]+)%', 'LIMIT \\2 OFFSET \\1', $sql);
}
if (defined('PUN_SHOW_QUERIES')) {
$q_start = get_microtime();
}
@pg_send_query($this->link_id, $sql);
$this->query_result = @pg_get_result($this->link_id);
if (pg_result_status($this->query_result) != PGSQL_FATAL_ERROR) {
if (defined('PUN_SHOW_QUERIES')) {
$this->saved_queries[] = array($sql, sprintf('%.5f', get_microtime() - $q_start));
}
++$this->num_queries;
$this->last_query_text[intval($this->query_result)] = $sql;
return $this->query_result;
} else {
if (defined('PUN_SHOW_QUERIES')) {
$this->saved_queries[] = array($sql, 0);
}
$this->error_no = false;
$this->error_msg = @pg_result_error($this->query_result);
if ($this->in_transaction) {
@pg_query($this->link_id, 'ROLLBACK');
}
--$this->in_transaction;
return false;
}
}
示例4: query
function query($sql, $unbuffered = false)
{
if (strlen($sql) > FORUM_DATABASE_QUERY_MAXIMUM_LENGTH) {
exit('Insane query. Aborting.');
}
if (strrpos($sql, 'LIMIT') !== false) {
$sql = preg_replace('#LIMIT ([0-9]+),([ 0-9]+)#', 'LIMIT \\2 OFFSET \\1', $sql);
}
if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG')) {
$q_start = forum_microtime();
}
@pg_send_query($this->link_id, $sql);
$this->query_result = @pg_get_result($this->link_id);
if (pg_result_status($this->query_result) != PGSQL_FATAL_ERROR) {
if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG')) {
$this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start));
}
++$this->num_queries;
$this->last_query_text[$this->query_result] = $sql;
return $this->query_result;
} else {
if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG')) {
$this->saved_queries[] = array($sql, 0);
}
$this->error_msg = @pg_result_error($this->query_result);
if ($this->in_transaction) {
@pg_query($this->link_id, 'ROLLBACK');
}
--$this->in_transaction;
return false;
}
}
示例5: pg_db_send_query
function pg_db_send_query($iConn, $sQry)
{
$iQuery = @pg_send_query($iConn, $sQry);
if (!$iQuery) {
$erro = pg_ErrorMessage($iConn) . "\n" . $sQry;
msgErro($erro);
}
return $iQuery;
}
示例6: executeQuery
function executeQuery($sql_commands)
{
if (!pg_send_query($this->link, $sql_commands)) {
throw new DatabaseException("PostgreSQL database query failed on following query:\n{$sql_commands}");
}
$this->res = pg_get_result($this->link);
DEBUG("DB: Query was: <em>{$sql_commands}</em>");
$this->executedQueries++;
return true;
}
示例7: query
/**
* Dispatch an unprepared query asynchronously
*
* @param string $query
* @return \Amp\Promise
*/
public function query(string $query) : \Amp\Promise
{
if ($this->queryCacheSize > $this->maxOutstandingQueries) {
return new \Amp\Failure(new \RuntimeException("Too busy"));
}
$deferred = new \Amp\Deferred();
$this->queryCache[] = [self::$OP_QUERY, [$query], $deferred];
$this->queryCacheSize++;
if (!$this->queryCacheSize++) {
$sendResult = \pg_send_query($this->db, $query);
$this->processSendResult($sendResult);
}
return $deferred->promise();
}
示例8: rawQuery
public function rawQuery($sql, array $params = [])
{
if (empty($params)) {
pg_send_query($this->dbconn, $sql);
} else {
pg_send_query_params($this->dbconn, $sql, $params);
}
$result = pg_get_result($this->dbconn);
$err = pg_result_error($result);
if ($err) {
throw new \Pg\Exception($err, 0, null, pg_result_error_field($result, PGSQL_DIAG_SQLSTATE));
}
return new \Pg\Statement($result, $this->typeConverter);
}
示例9: query
function query($strSQL)
{
global $aQueries;
// Save the query.
$aQueries[] = $strSQL;
// Execute the query.
$querySuccess = pg_send_query($this->objConnection, $strSQL);
$this->objResult = @pg_get_result($this->objConnection);
// Return the result.
if ($querySuccess === FALSE) {
DatabaseError();
} else {
return TRUE;
}
}
示例10: query
function query($sql)
{
@pg_send_query($this->link_id, $sql);
$this->query_result = @pg_get_result($this->link_id);
if (pg_result_status($this->query_result) != PGSQL_FATAL_ERROR) {
++$this->num_queries;
//$this->last_query_text[$this->query_result] = $sql;
return $this->query_result;
} else {
if ($this->in_transaction) {
@pg_query($this->link_id, "ROLLBACK");
}
--$this->in_transaction;
die(error(pg_result_error($this->query_result)));
return false;
}
}
示例11: query_execute
public function query_execute($sql)
{
// Make sure the database is connected
$this->connect();
if ($result = pg_send_query($this->connection, $sql)) {
$result = pg_get_result($this->connection);
}
if (!is_resource($result)) {
throw new Database_Exception(':error [ :query ]', array(':error' => pg_last_error($this->connection), ':query' => $sql));
}
// Set the last query
$this->last_query = $sql;
if ($this->config['fix_booleans']) {
return Database_Postgresql_Result_Boolean::factory($result, $sql, $this->connection, $this->config['object']);
}
return new Database_Postgresql_Result($result, $sql, $this->connection, $this->config['object']);
}
示例12: query
public function query($query)
{
if (!pg_send_query($this->connection, $query)) {
throw $this->createException(pg_last_error($this->connection), 0, NULL);
}
$time = microtime(TRUE);
$resource = pg_get_result($this->connection);
$time = microtime(TRUE) - $time;
if ($resource === FALSE) {
throw $this->createException(pg_last_error($this->connection), 0, NULL);
}
$state = pg_result_error_field($resource, PGSQL_DIAG_SQLSTATE);
if ($state !== NULL) {
throw $this->createException(pg_result_error($resource), 0, $state, $query);
}
$this->affectedRows = pg_affected_rows($resource);
return new Result(new PgsqlResultAdapter($resource), $this, $time);
}
示例13: SQLLoad
function SQLLoad($file)
{
header("SQL: {$file}", false);
$con = db::RawConnection();
$sql = file_get_contents($file);
pg_send_query($con, $sql);
if (($error = pg_last_error($con)) !== '') {
die("Failure at loading {{$file}} with {{$error}}");
}
while (pg_connection_busy($con)) {
sleep(1);
}
while (pg_get_result($con) !== false) {
if (($error = pg_last_error($con)) !== '') {
die("Failure at loading {{$file}} with {{$error}}");
}
}
}
示例14: db_query
/**
* Does a query with placeholders
*/
function db_query($q)
{
$this->db_connect();
$this->statement_handle = null;
$this->sql = $this->db_merge($q);
// Do the query
$start = microtime(true);
pg_send_query($this->db, $this->sql);
$this->statement_handle = pg_get_result($this->db);
$this->duration = microtime(true) - $start;
ar_logger('SQL: [' . number_format($this->duration, 6) . '] ' . $this->sql, $this->db_connection);
$GLOBALS['db_time'] += $this->duration;
if ($error = pg_result_error($this->statement_handle)) {
$errorstr = 'SQL ERROR: ' . $error . "\nSTATEMENT: " . $this->sql;
//debug($errorstr);
ar_logger($errorstr, $this->db_connection);
throw_error($errorstr);
}
$this->sql = array();
}
示例15: ejecutarValidandoUniqueANDPrimaryKey
function ejecutarValidandoUniqueANDPrimaryKey($sql)
{
if ($sql == "") {
return 0;
} else {
/* Si puede enviar la consulta sin importar que encuentre llaves duplicadas */
if (pg_send_query($this->connect, $sql)) {
/* Ejecuta la consulta */
$this->consulta_ID = pg_get_result($this->connect);
/* Se tiene algun resultado sin importar que contenga errores de duplidados */
if ($this->consulta_ID) {
/* Detecte un posible error */
$state = pg_result_error_field($this->consulta_ID, PGSQL_DIAG_SQLSTATE);
/* Si no se genero ningun error */
if ($state == 0) {
return $this->consulta_ID;
} else {
/* Si encontro algun error */
return false;
}
}
}
}
}