Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Верный ли код? Нет ли ошибок?
 
 автор: Diablo_   (13.01.2007 в 00:29)   письмо автору
 
 


<?
    
require_once ($_SERVER['DOCUMENT_ROOT']."/class/var.class.php");
    class 
class_sql extends class_var
    
{
        var 
$conn_id
        var 
$sql_query;
        var 
$sql_err;
        var 
$sql_res;

        var 
$conn_id2
        var 
$sql_query2;
        var 
$sql_err2;
        var 
$sql_res2;        
        
function 
sql_connect()
        {
            
$this->conn_id=mysql_connect($this->SQL_HOST,$this->SQL_LOGIN,$this->SQL_PASSWORD,false) or die("Could not connect to DB");
            
$this->sql_err=mysql_error();
            
mysql_select_db($this->SQL_DATABASE)  or die("Could not select DB");
            
$this->sql_err=mysql_error();            
        }
function 
sql_connect2()
        {
            
$this->conn_id2=mysql_connect($this->SQL_HOST,$this->SQL_LOGIN,$this->SQL_PASSWORD,false) or die("Could not connect to DB");
            
$this->sql_err2=mysql_error();
            
mysql_select_db($this->SQL_DATABASE2) or die("Could not select DB2!!!!!!");
            
$this->sql_err2=mysql_error();            
        }
        
        function 
sql_execute()
        {
            
$this->sql_res=mysql_query($this->sql_query,$this->conn_id);
            
$this->sql_err=mysql_error();
        }
        
        function 
sql_close()
        {
            
mysql_close($this->conn_id);
        }

        function 
sql_execute2()
        {
            
$this->sql_res2=mysql_query($this->sql_query2,$this->conn_id2);
            
$this->sql_err2=mysql_error();
        }
                
        function 
sql_close2()
        {
            
mysql_close($this->conn_id2);
        }
        
    }
?>

нет ли тут ошибок???
особенно инетресует вот это строка
$this->sql_res=mysql_query($this->sql_query,$this->conn_id);
у меня частенько выдаёт ошибку на ней, но ошибка в лог записывается
[Fri Jan 12 23:56:15 2007] [error] PHP Warning: mysql_query(): 4 is not a valid MySQL-Link resource in /home/www/site1/public_html/class/sql.class.php on line 32

чего это значит, не понимаю, и тем более как с этим бороться! Из за этого частенько идёт нагрузка на CPU

   
 
 автор: cheops   (13.01.2007 в 00:39)   письмо автору
 
   для: Diablo_   (13.01.2007 в 00:29)
 

Откуда берётся $this->sql_query и что в нём?

   
 
 автор: Diablo_   (13.01.2007 в 00:44)   письмо автору
 
   для: cheops   (13.01.2007 в 00:39)
 

это код файла для подключения и извлечения инфы из бд! он подключается ко всем страницам и с помощью него ведётся работа с базой

   
 
 автор: Trianon   (13.01.2007 в 01:39)   письмо автору
 
   для: Diablo_   (13.01.2007 в 00:29)
 

Это происходит, когда Вы пытаетесь сделать sql_execute для уже закрытого соединения.
Например: Шаги в следующем внешне безобидном порядке:
1. sql_connect -
2. sql_connect2 -
3. sql_close2 -
4. sql_execute -
5. sql_close -

А теперь подробно:

1. sql_connect - откроет соединение 1
2. sql_connect2 - т.к. сервер БД и логин совпадают с первым соединением, то ничего нового не откроет - вернет дескриптор того же соединения 1 - - имеет право.
3. sql_close2 - закроет открытое соединение.
4. sql_execute - накроется медным тазом.
5. sql_close - :) А чего закрывать то? Его уже нету давно...

   
 
 автор: Diablo_   (13.01.2007 в 04:42)   письмо автору
 
   для: Trianon   (13.01.2007 в 01:39)
 

а обезательно, закрывать соединение? Оно же само закрывается на серваке! Или может произойти, косяк?

   
 
 автор: Trianon   (13.01.2007 в 20:21)   письмо автору
 
   для: Diablo_   (13.01.2007 в 04:42)
 

Закроется, конечно.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования