summaryrefslogblamecommitdiff
path: root/lib/sql.php
blob: 839d4694c7514809efa07ef5715b92d8be476dae (plain) (tree)
1
2
3
4
5
6
7
8
9





                        
                 

                        
                                                                                               
                                           








                                                                                                                       
                                                        
                                                                                           

                                                 


                              

                                                       

                                                  





                                       

                                      
                                              











                                                    
                  






                              
<?php

require("conf/sql.php");

$sql_queries = 0;
$sql_connected = false;
$sql_conn = null;

function sql_connect() {
	global $sql_server, $sql_user, $sql_password, $sql_database, $sql_connected, $sql_conn;
	if ($sql_connected == true) return;

	try {
		$sql_conn = new PDO("mysql:host=$sql_server;dbname=$sql_database;charset=utf8",
							$sql_user, $sql_password, [
								PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
								PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
								PDO::ATTR_EMULATE_PREPARES   => false,
							]);
	} catch(PDOException $e) {
		$title = "Cannot connect to SQL server";
		$error = "An error has occurred with the SQL server ! " . $e->getMessage();
		require("tpl/general/empty.php");
	}
	$sql_connected = true;
}

function sql($r, ...$args) {
	global $sql_queries, $sql_connected, $sql_conn;
	if ($sql_connected != true) sql_connect();
	$sql_queries++;

	$stmt = $sql_conn->prepare($r);
	try {
		$stmt->execute($args);
		return $stmt;
	} catch(PDOException $e) {
		$title = "SQL error.";
		$request = $r;
		$sql_error = $e->getMessage();
		require("tpl/general/sqlerror.php");
	}
}

function esca($v) {
	if (get_magic_quotes_gpc()) {
		return stripslashes($v);
	} else {
		return $v;
	}
}
function escs($v) {
	return $v;
}
function esc($v) {
	return escs(esca($v));
}