У меня не запускается база данных, можете помочь?
<?php
class sql_db
{
var $db_connect_id;
var $query_result;
var $row = array();
var $rowset = array();
var $num_queries = 0;
//
// Constructor
//
function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true)
{
$this->persistency = $persistency;
$this->user = $sqluser;
$this->password = $sqlpassword;
$this->server = $sqlserver;
$this->dbname = $database;
if($this->persistency)
{
$this->db_connect_id = @mysql_pconnect($this->server, $this->user, $this->password);
}
else
{
$this->db_connect_id = @mysql_connect($this->server, $this->user, $this->password);
}
if($this->db_connect_id)
{
if($database != "")
{
$this->dbname = $database;
$dbselect = @mysql_select_db($this->dbname);
if(!$dbselect)
{
@mysql_close($this->db_connect_id);
$this->db_connect_id = $dbselect;
}
}
return $this->db_connect_id;
}
else
{
return false;
}
}
//
// Other base methods
//
function sql_close()
{
if($this->db_connect_id)
{
if($this->query_result)
{
@mysql_free_result($this->query_result);
}
$result = @mysql_close($this->db_connect_id);
return $result;
}
else
{
return false;
}
}
//
// Base query method
//
function sql_query($query = "")
{
$this->num_queries++;
// Remove any pre-existing queries
unset($this->query_result);
if($query != "")
{
$this->query_result = @mysql_query($query, $this->db_connect_id);
}
if($this->query_result)
{
unset($this->row[$this->query_result]);
unset($this->rowset[$this->query_result]);
return $this->query_result;
}
else
{
//return ( $transaction == END_TRANSACTION ) ? true : false;
return false;
}
}
//
// Other query methods
//
function sql_numrows($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @mysql_num_rows($query_id);
return $result;
}
else
{
return false;
}
}
function sql_affectedrows()
{
if($this->db_connect_id)
{
$result = @mysql_affected_rows($this->db_connect_id);
return $result;
}
else
{
return false;
}
}
function sql_numfields($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @mysql_num_fields($query_id);
return $result;
}
else
{
return false;
}
}
function sql_fieldname($offset, $query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @mysql_field_name($query_id, $offset);
return $result;
}
else
{
return false;
}
}
function sql_fieldtype($offset, $query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @mysql_field_type($query_id, $offset);
return $result;
}
else
{
return false;
}
}
function sql_fetchrow($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$this->row[$query_id] = @mysql_fetch_array($query_id);
return $this->row[$query_id];
}
else
{
return false;
}
}
function sql_fetchrowset($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
unset($this->rowset[$query_id]);
unset($this->row[$query_id]);
$result='';
while($this->rowset[$query_id] = @mysql_fetch_array($query_id))
{
$result[] = $this->rowset[$query_id];
}
if ($result=='') {return false;}
return $result;
}
else
{
return false;
}
}
function sql_afetchrowset($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
unset($this->rowset[$query_id]);
unset($this->row[$query_id]);
$result='';
while($this->rowset[$query_id] = @mysql_fetch_array($query_id,MYSQL_ASSOC))
{
$result[] = $this->rowset[$query_id];
}
if ($result=='') {return false;}
return $result;
}
else
{
return false;
}
}
function sql_nfetchrowset($query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
unset($this->rowset[$query_id]);
unset($this->row[$query_id]);
$result='';
while($this->rowset[$query_id] = @mysql_fetch_array($query_id,MYSQL_NUM))
{
$result[] = $this->rowset[$query_id];
}
if ($result=='') {return false;}
return $result;
}
else
{
return false;
}
}
function sql_fetchfield($field, $rownum = -1, $query_id = 0)
{
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
if($rownum > -1)
{
$result = @mysql_result($query_id, $rownum, $field);
}
else
{
if(empty($this->row[$query_id]) && empty($this->rowset[$query_id]))
{
if($this->sql_fetchrow())
{
$result = $this->row[$query_id][$field];
}
}
else
{
if($this->rowset[$query_id])
{
$result = $this->rowset[$query_id][$field];
}
else if($this->row[$query_id])
{
$result = $this->row[$query_id][$field];
}
}
}
return $result;
}
else
{
return false;
}
}
function sql_rowseek($rownum, $query_id = 0){
if(!$query_id)
{
$query_id = $this->query_result;
}
if($query_id)
{
$result = @mysql_data_seek($query_id, $rownum);
return $result;
}
else
{
return false;
}
}
function sql_nextid(){
if($this->db_connect_id)
{
$result = @mysql_insert_id($this->db_connect_id);
return $result;
}
else
{
return false;
}
}
function sql_freeresult($query_id = 0){
if(!$query_id)
{
$query_id = $this->query_result;
}
if ( $query_id )
{
unset($this->row[$query_id]);
unset($this->rowset[$query_id]);
@mysql_free_result($query_id);
return true;
}
else
{
return false;
}
}
function sql_error($query_id = 0)
{
$result["message"] = @mysql_error($this->db_connect_id);
$result["code"] = @mysql_errno($this->db_connect_id);
return $result;
}
} // class sql_db
$db = new sql_db($dbhost,$dbusername,$dbpassword,$dbname, false);
if(!$db->db_connect_id)
{
die("Could not connect to the database");
}
?>
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\xampp\htdocs\shop\include\db.php:28 Stack trace: #0 C:\xampp\htdocs\shop\include\db.php(374): sql_db->sql_db('localhost', 'root', '', 'shop_new', false) #1 C:\xampp\htdocs\shop\index.php(7): include('C:\\xampp\\htdocs...') #2 {main} thrown in C:\xampp\htdocs\shop\include\db.php on line 28
5 ответов
Судя по всему вы используете какой-то древний программный код подключения к базе данных:
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in
Функция mysql_connect() уже очень давно устарела. Уже давно используется mysqli:
$mysqli = new mysqli('localhost', 'root', 'password', 'kinomonster');
if(mysqli_connect_errno()) {
printf("Соединение не установлено", mysqli_connect_error());
exit();
}
$mysqli->set_charset('utf8');
$query = $mysqli->query('SELECT * FROM movie');
В курсе php/mysql пример подключения через mysqli есть:
https://fructcode.com/ru/courses/php-and-mysql/video-sql-select/
Я так понимаю, что вы нашли какой-то "движок" интернет магазина или форума и пытаетесь его запустить. Если так, найдите самую новую версию на официальном сайте или github и с ней работайте. Или ставьте php старой версии, это примерно версия 5, у вас скорее всего 7я версия php стоит, правда со старой версией php вас сайт, тем более если это интернет магазин, будет небезопасным и с различными уязвимостями в безопасности.
Да, либо php старую версию поставить пятую (или даже четвертую может) или переписать функцию mysql_connect на mysqli_connect и другие связанные с ней функции, НО в интернет магазинах не только mysql коннект, но и много другого функционала, который тоже не будет работать правильно с новыми версиями php, т.е. возможно очень много придется переписывать, если локально, проще старую версию php поставить, на виртуальную машину например, типа virtualbox или vmware player.
да очень старый магазин.(больше как хранилище)
его же можно воскресить?
для локального пользования
как я понял достаточно переписать ключи, верно?
огромное спасибо!
лучший!