Sveiki, kai ieinu i svetaine rodo stai tokia klaida:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\xampp\htdocs\eshop24-2\system\database\mysql.php on line 6
Stai to failiuko kodas:
<?php
final class MySQL {
private $link;
public function __construct($hostname, $username, $password, $database) {
if (!$this->link = mysql_connect($hostname, $username, $password)) {
trigger_error('Error: Could not make a database link using ' . $username . '@' . $hostname);
}
if (!mysql_select_db($database, $this->link)) {
trigger_error('Error: Could not connect to database ' . $database);
}
mysql_query("SET NAMES 'utf8'", $this->link);
mysql_query("SET CHARACTER SET utf8", $this->link);
mysql_query("SET CHARACTER_SET_CONNECTION=utf8", $this->link);
mysql_query("SET SQL_MODE = ''", $this->link);
}
public function query($sql) {
if ($this->link) {
$resource = mysql_query($sql, $this->link);
if ($resource) {
if (is_resource($resource)) {
$i = 0;
$data = array();
while ($result = mysql_fetch_assoc($resource)) {
$data[$i] = $result;
$i++;
}
mysql_free_result($resource);
$query = new stdClass();
$query->row = isset($data[0]) ? $data[0] : array();
$query->rows = $data;
$query->num_rows = $i;
unset($data);
return $query;
} else {
return true;
}
} else {
trigger_error('Error: ' . mysql_error($this->link) . '<br />Error No: ' . mysql_errno($this->link) . '<br />' . $sql);
exit();
}
}
}
public function escape($value) {
if ($this->link) {
return mysql_real_escape_string($value, $this->link);
}
}
public function countAffected() {
if ($this->link) {
return mysql_affected_rows($this->link);
}
}
public function getLastId() {
if ($this->link) {
return mysql_insert_id($this->link);
}
}
public function __destruct() {
if ($this->link) {
mysql_close($this->link);
}
}
}
?>
Nemoku nieko PHP... Pasakykit ka toje 6 eiluteje pakeisti:
if (!$this->link = mysql_connect($hostname, $username, $password)) {
Aciu :)
Bebras prieš 10 metų
Tau ne tik tą eilutę reikėtų pakeisti.. tau reikėtų perrašyti visą mysql susijusį kodą.
Gali nusistatyti kad nerodytų šių error:
error_reporting(E_ALL ^ E_DEPRECATED);
Tačiau ateis diena kai tų funkcijų apskritai nebebus PHP ir tavo kodas nustos veikti.
f0cus prieš 10 metų
mysql yra nebepatartina naudoti, tau rekomenduoja atnaujint kodą naudojant mysqli arba PDO (rekomenduoju mysqli)
tadas.mas prieš 10 metų
Visų pirma turėtų būti užduodamas klausimas, kokią Opencart versiją naudoji. Jei seną (<= 1.5.6), tai siūlyčiau atsinaujinti. Bet kokiu atveju, šitą klaidą gali išjungi prie nustatymų, pasirink kad nerodytų klaidų ir viskas.
Optimist78 prieš 10 metų
@tadas.mas jo, naudojau seną, nes tik ant senos sulietuvinimas buvo, anyways atsinaujinau i naujausia ir pabandziau naudot senos versijos sulietuvinima su ja - rezultatas mane tenkino. Nesulietuvintos buvo vos kelios vietos :)