mtStart = $this->getMicroTime(); $this->nbQueries = 0; $this->lastResult = NULL; /* Change the line : * @mysqli_connect($server, $user, $pass) or die('Server connexion not possible.'); * to * $this->dbhandle = mysqli_connect($server, $user, $pass) or die("Server connexion not possible."); * to adequate to PHP7 */ $this->dbhandle = mysqli_connect($server, $user, $pass) or die("Server connexion not possible."); #mysqli_set_charset($this->dbhandle, "utf8mb4"); mysqli_select_db($this->dbhandle,$base) //Change mysqli_select_db($base) (deprecated) to mysqli_select_db($this->dbhandle,$base) (PHP7) or die('Database connexion not possible.'); } /** Query the database. * @param $query The query. * @param $debug If true, it output the query and the resulting table. * @return The result of the query, to use with fetchNextObject(). */ function query($query, $debug = -1) { $this->nbQueries++; $this->lastResult = mysqli_query($this->dbhandle,$query) or $this->debugAndDie($query);//Change mysql_query($query) (deprecated) to mysqli_query($this->dbhandle,$query) (PHP7) $this->debug($debug, $query, $this->lastResult); return $this->lastResult; } /** Do the same as query() but do not return nor store result.\n * Should be used for INSERT, UPDATE, DELETE... * @param $query The query. * @param $debug If true, it output the query and the resulting table. */ function execute($query, $debug = -1) { $this->nbQueries++; mysqli_query($this->dbhandle,$query) or $this->debugAndDie($query);//Change mysql_query($query) (deprecated) to mysqli_query($this->dbhandle,$query) (PHP7) $this->debug($debug, $query); } /** Convenient method for mysqli_fetch_object(). * @param $result The ressource returned by query(). If NULL, the last result returned by query() will be used. * @return An object representing a data row. */ function fetchNextObject($result = NULL) { if ($result == NULL) $result = $this->lastResult; if ($result == NULL || mysqli_num_rows($result) < 1)//Change mysql_num_rows($result) (deprecated) to mysqli_num_rows($result) (PHP7) return NULL; else return mysqli_fetch_object($result);//Change mysql_fetch_object($result) (deprecated) to mysqli_fetch_object($result) (PHP7) } /** Get the number of rows of a query. * @param $result The ressource returned by query(). If NULL, the last result returned by query() will be used. * @return The number of rows of the query (0 or more). */ function numRows($result = NULL) { if ($result == NULL) return mysqli_num_rows($this->lastResult);//Change mysql_num_rows($this->lastResult) (deprecated) to mysqli_num_rows($this->lastResult) (PHP7) else return mysqli_num_rows($result); } /** Get the result of the query as an object. The query should return a unique row.\n * Note: no need to add "LIMIT 1" at the end of your query because * the method will add that (for optimisation purpose). * @param $query The query. * @param $debug If true, it output the query and the resulting row. * @return An object representing a data row (or NULL if result is empty). */ function queryUniqueObject($query, $debug = -1) { $query = "$query LIMIT 1"; $this->nbQueries++; $result = mysqli_query($this->dbhandle,$query) or $this->debugAndDie($query);//Change mysql_query($query) (deprecated) to mysqli_query($this->dbhandle,$query) (PHP7) $this->debug($debug, $query, $result); return mysqli_fetch_object($result);//Change mysql_fetch_object($result) (deprecated) to mysqli_fetch_object($result) (PHP7) } /** Get the result of the query as value. The query should return a unique cell.\n * Note: no need to add "LIMIT 1" at the end of your query because * the method will add that (for optimisation purpose). * @param $query The query. * @param $debug If true, it output the query and the resulting value. * @return A value representing a data cell (or NULL if result is empty). */ function queryUniqueValue($query, $debug = -1) { $query = "$query LIMIT 1"; $this->nbQueries++; $result = mysqli_query($this->dbhandle,$query) or $this->debugAndDie($query);//Change mysql_query($query) (deprecated) to mysqli_query($this->dbhandle,$query) (PHP7) $line = mysqli_fetch_row($result);//Change mysql_fetch_row($result) (deprecated) to mysqli_fetch_row($result) (PHP7) $this->debug($debug, $query, $result); return $line[0]; } /** Get the maximum value of a column in a table, with a condition. * @param $column The column where to compute the maximum. * @param $table The table where to compute the maximum. * @param $where The condition before to compute the maximum. * @return The maximum value (or NULL if result is empty). */ function maxOf($column, $table, $where) { return $this->queryUniqueValue("SELECT MAX(`$column`) FROM `$table` WHERE $where"); } /** Get the maximum value of a column in a table. * @param $column The column where to compute the maximum. * @param $table The table where to compute the maximum. * @return The maximum value (or NULL if result is empty). */ function maxOfAll($column, $table) { return $this->queryUniqueValue("SELECT MAX(`$column`) FROM `$table`"); } /** Get the count of rows in a table, with a condition. * @param $table The table where to compute the number of rows. * @param $where The condition before to compute the number or rows. * @return The number of rows (0 or more). */ function countOf($table, $where) { return $this->queryUniqueValue("SELECT COUNT(*) FROM `$table` WHERE $where"); } /** Get the count of rows in a table. * @param $table The table where to compute the number of rows. * @return The number of rows (0 or more). */ function countOfAll($table) { return $this->queryUniqueValue("SELECT COUNT(*) FROM `$table`"); } /** Internal function to debug when MySQL encountered an error, * even if debug is set to Off. * @param $query The SQL query to echo before diying. */ function debugAndDie($query) { $this->debugQuery($query, "Error"); die("

".mysqli_error($this->dbhandle)."

");//Change mysql_error() (deprecated) to mysqli_error($this->dbhandle) (PHP7) } /** Internal function to debug a MySQL query.\n * Show the query and output the resulting table if not NULL. * @param $debug The parameter passed to query() functions. Can be boolean or -1 (default). * @param $query The SQL query to debug. * @param $result The resulting table of the query, if available. */ function debug($debug, $query, $result = NULL) { if ($debug === -1 && $this->defaultDebug === false) return; if ($debug === false) return; $reason = ($debug === -1 ? "Default Debug" : "Debug"); $this->debugQuery($query, $reason); if ($result == NULL) echo "

Number of affected rows: ".mysqli_affected_rows($this->dbhandle)."

";//Change mysql_affected_rows() (deprecated) to mysqli_affected_rows($this->dbhandle) (PHP7) else $this->debugResult($result); } /** Internal function to output a query for debug purpose.\n * Should be followed by a call to debugResult() or an echo of "". * @param $query The SQL query to debug. * @param $reason The reason why this function is called: "Default Debug", "Debug" or "Error". */ function debugQuery($query, $reason = "Debug") { $color = ($reason == "Error" ? "red" : "orange"); echo "
". "

". "$reason: ". "".htmlentities($query)."

"; } /** Internal function to output a table representing the result of a query, for debug purpose.\n * Should be preceded by a call to debugQuery(). * @param $result The resulting table of the query. */ function debugResult($result) { echo "". ""; $numFields = mysqli_num_fields($result);//Change mysql_num_fields($result) (deprecated) to mysqli_num_fields($result) (PHP7) // BEGIN HEADER $tables = array(); $nbTables = -1; $lastTable = ""; $fields = array(); $nbFields = -1; while ($column = mysqli_fetch_field($result)) {//Change mysql_fetch_field($result) (deprecated) to mysqli_fetch_field($result) (PHP7) if ($column->table != $lastTable) { $nbTables++; $tables[$nbTables] = array("name" => $column->table, "count" => 1); } else $tables[$nbTables]["count"]++; $lastTable = $column->table; $nbFields++; $fields[$nbFields] = $column->name; } for ($i = 0; $i <= $nbTables; $i++) echo ""; echo ""; echo ""; for ($i = 0; $i <= $nbFields; $i++) echo ""; echo ""; // END HEADER while ($row = mysqli_fetch_array($result)) {//Change mysql_fetch_array($result) (deprecated) to mysqli_fetch_array($result) (PHP7) echo ""; for ($i = 0; $i < $numFields; $i++) echo ""; echo ""; } echo "
".$tables[$i]["name"]."
".$fields[$i]."
".htmlentities($row[$i])."
"; $this->resetFetch($result); } /** Get how many time the script took from the begin of this object. * @return The script execution time in seconds since the * creation of this object. */ function getExecTime() { return round(($this->getMicroTime() - $this->mtStart) * 1000) / 1000; } /** Get the number of queries executed from the begin of this object. * @return The number of queries executed on the database server since the * creation of this object. */ function getQueriesCount() { return $this->nbQueries; } /** Go back to the first element of the result line. * @param $result The resssource returned by a query() function. */ function resetFetch($result) { if (mysqli_num_rows($result) > 0)//Change mysql_num_rows($result) (deprecated) to mysqli_num_rows($result) (PHP7) mysqli_data_seek($result, 0);//Change mysql_data_seek($result, 0) (deprecated) to mysqli_data_seek($result, 0) (PHP7) } /** Get the id of the very last inserted row. * @return The id of the very last inserted row (in any table). */ function lastInsertedId() { return mysqli_insert_id($this->dbhandle);//Change mysql_insert_id() (deprecated) to mysqli_insert_id($this->dbhandle) (PHP7) } /** Close the connexion with the database server.\n * It's usually unneeded since PHP do it automatically at script end. */ function close() { mysqli_close($this->dbhandle);//Change mysql_close() (deprecated) to mysqli_close($this->dbhandle) (PHP7) } /** Internal method to get the current time. * @return The current time in seconds with microseconds (in float format). */ function getMicroTime() { list($msec, $sec) = explode(' ', microtime()); return floor($sec / 1000) + $msec; } } // class DB ?>
Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in /var/www/html/iec/fundacions/www.mercerodoreda.cat/public_html/application/run.php:60 Stack trace: #0 {main} thrown in /var/www/html/iec/fundacions/www.mercerodoreda.cat/public_html/application/run.php on line 60