Někdy se stane, že je zapotřebí přejít na novější verzi PHP server.
napŕ. projekt potŕebuje novou funkci ( běžné pokud používáte pluginy třeba u WordPressu).
Jenže pokud využíváte u projektu svoje scripty, rozhodně se stane, že se v takovéto situaci u starších projektu budete nacházet.
Máte dvě varianty:
- Nechat projekt tak jak je, hlavně že funguje. ALE nebudete mít novou funkci
- Přepsat projekt, aby fungoval na php 7.x. ALE budete mít novou funkci.
Obojí je prostě hodně práce.
Protom zásadní rozdíl přechodu ze staré verze php (5.4 i 5.6) je v komunikaci s databází.
Prostě je třeba všude přidat měkké „i“ u procedurálního volání funkcí mysql.
Proto jsem napsal pár řádek scriptu a ušetřil jsem si práci několika hodin úprav a laděni.
function mysql_connect($server,$user,$heslo,$database="") {
global $db;
if (empty($database)) $database=$db["db"];
$link = mysqli_connect($server, $user, $heslo, $database);
return $link;
}
function mysql_select_db($db,$link) {
return mysqli_select_db($link,$db);
}
function mysql_query($query) {
global $link;
return mysqli_query($link,$query);
}
function mysql_real_escape_string($query) {
global $link;
return mysqli_real_escape_string($link, $query);
}
function mysql_fetch_array($query) {
return mysqli_fetch_array($query);
}
function mysql_num_rows($query) {
return mysqli_num_rows($query);
}
function mysql_fetch_assoc($query) {
return mysqli_fetch_assoc($query);
}
function mysql_insert_id() {
global $link;
return mysqli_insert_id($link);
}
Mě tohle pomohlo. Za cca 20 minut jsem měl napsáno i vyzkoušen web, že funguje jak má.
Vím, že toto řešení není úplně správně, ale funguje to a za minimum času. Kód zvěřejňuji, třeba někomu pomůže, tak jako mě.
PS: např. mysqli_close mi tu chybí. Použil jsem jen funkce,které v projektu byly použité.