Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OOP чего то не работает... 
V
    Опции темы
Entwickler
Дата 24.11.2008, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 14.4.2007

Репутация: нет
Всего: 2



Привет PHP - Gurus!!!
У меня возникла меленькая проблемка... чего то моё ООП не очень правильно работает!!! Вот мои классы...
Код

<?php
class db_mysql {
        PROTECTED $db_user;
        PROTECTED $db_pass;
        PROTECTED $db_server;
        
        PROTECTED $insert_id;
        PROTECTED $affected_rows;
        PROTECTED $num_rows;
        
        PROTECTED STATIC $con;
        PROTECTED STATIC $queries;
        PROTECTED STATIC $verbindungen;

        PUBLIC function __construct($datenbank){
            if(!is_resource(self::$con)){
                self::$con = mysql_connect($this->db_server,$this->db_user,$this->db_pass);
                ++self::$verbindungen;
            }
            mysql_select_db($datenbank, self::$con) OR die('Fehler bei Verbinden zur Datenbank');
        }

        PUBLIC function prepare($var){
            return mysql_real_escape_string($var, self::$con);
        }

        PUBLIC function execute($sql){
            ++self::$queries;
            $erg = mysql_query($sql, self::$con);
            $this->affected_rows = mysql_affected_rows(self::$con);
            $this->num_rows = @mysql_num_rows($erg);

            if($this->num_rows){
                $i = 1;
                while($array[$i] = mysql_fetch_assoc($erg)){
                    ++$i;
                }
                unset($array[$i]);
                return $array;
            }

            $this->insert_id = mysql_insert_id(self::$con);
            return true;
        }

        PUBLIC function insert_id(){
            return $this->insert_id;
        }

        PUBLIC function affected_rows(){
            return $this->affected_rows;
        }

        PUBLIC function num_rows(){
            return $this->num_rows;
        }

        PUBLIC function queries(){
            return self::$queries;
        }

        PUBLIC function verbindungen(){
            return self::$verbindungen;
        }
}
?>


Код

<?php
    class db extends db_mysql{
        PROTECTED $db_user = 'root';
        PROTECTED $db_pass = 'maximus';
        PROTECTED $db_server = 'localhost';
        
        PUBLIC function __construct($datenbank = 'localhost'){
            parent::__construct($datenbank);
        }
    }
?>


Код

<?php
    require_once('db_mysql.php');
    require_once('db.php');
    
    if($_GET['send'] == 1){
        $db = new db('pvt');
        /*$sql = "INSERT INTO personen (name,vorname,strasse,ort,plz,telefon)
            VALUES ('" .$_GET['name']. "','" .$_GET['vorname']. "','" .$_GET['strasse']. "','" 
            .$_GET['ort']. "','" .$_GET['plz']. "','" .$_GET['telefon']. "');";*/
        $sql = "ISERT INTO personen (name,vorname,strasse,ort,plz,telefon) 
            VALUES ('" .$db->prepare($_GET['name']). "','" .$db->prepare($_GET['vorname']). "','" .$db->prepare($_GET['strasse']). "','".
             $db->prepare($_GET['ort']). "','" .$db->prepare($_GET['plz']). "','" .$db->prepare($_GET['telefon']). "');";
        $db->execute($sql);
        
        echo $sql;
    }
    
    if($_GET['form2'] == 1){
        $conn = mysql_connect('localhost','root','maximus');
        mysql_select_db('pvt',$conn);
        $sql = "INSERT INTO personen (name,vorname,strasse,ort,plz,telefon)
            VALUES ('" .$_GET['name1']. "','" .$_GET['vorname1']. "','" .$_GET['strasse1']. "','" 
            .$_GET['ort1']. "','" .$_GET['plz1']. "','" .$_GET['telefon1']. "');";
        mysql_query($sql,$conn);
    }
?>
<html>
    <head>
        <title>Datenbank anbindung</title>
    </head>
    <body>
        <h1>Daten in die Datenbank schreiben</h1>
        <form name="db_angaben_schreiben" method="GET" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
        <table border>
            <tr>
                <th>Name</th><th>Vorname</th><th>Strasse</th><th>Ort</th><th>PLZ</th><th>Telefon</th>
                <input type="hidden" name="send" value="1" />
            </tr>
            <tr>
                <td><input type="text" name="name" style="width:100%;" /></td>
                <td><input type="text" name="vorname" style="width:100%;" /></td>
                <td><input type="text" name="strasse" style="width:100%;" /></td>
                <td><input type="text" name="ort" style="width:100%;" /></td>
                <td><input type="text" name="plz" style="width:100%;" /></td>
                <td><input type="text" name="telefon" style="width:100%;" /></td>
            </tr>
            <tr>
                <td colspan="3"><input type="submit" value="Abschiecken" style="width:100%;"/></td>
                <td colspan="3"><input type="reset" value="L&ouml;schen" style="width:100%;"/></td>
            </tr>
        </table>
        </form>
        <h1>Daten in die Datenbank schreiben</h1>
        <form name="db_angaben_" method="GET" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
        <table border>
            <tr>
                <th>Name</th><th>Vorname</th><th>Strasse</th><th>Ort</th><th>PLZ</th><th>Telefon</th>
                <input type="hidden" name="form2" value="1" />
            </tr>
            <tr>
                <td><input type="text" name="name1" style="width:100%;" /></td>
                <td><input type="text" name="vorname1" style="width:100%;" /></td>
                <td><input type="text" name="strasse1" style="width:100%;" /></td>
                <td><input type="text" name="ort1" style="width:100%;" /></td>
                <td><input type="text" name="plz1" style="width:100%;" /></td>
                <td><input type="text" name="telefon1" style="width:100%;" /></td>
            </tr>
            <tr>
                <td colspan="3"><input type="submit" value="Abschiecken" style="width:100%;"/></td>
                <td colspan="3"><input type="reset" value="L&ouml;schen" style="width:100%;"/></td>
            </tr>
        </table>
        </form>
    </body>
</html>


встроил специально echo проверить вроде правильно... не знаю в чём дело... smile 
PM MAIL   Вверх
solenko
Дата 24.11.2008, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 7
Всего: 67



Entwickler, вы знаете, у меня вот тут есть пара классов, но они как-то не очень хорошо работают. вы не посмотрите?

Если вы сформулируете таки вопрос, то вероятность получения ответа очень сильно возрастет


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Entwickler
Дата 24.11.2008, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 14.4.2007

Репутация: нет
Всего: 2



думал что и так понятно... сформулирую получше... я думаю что проблема в функции prepare() потому что если я формулирую запрос на прямую см. закомментированную команду то всё прекрасно работает... 
PM MAIL   Вверх
solenko
Дата 24.11.2008, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 7
Всего: 67



Цитата

$sql = "ISERT INTO

Пропущен символ
Код

$sql = ...
echo $sql;
$db->execute($sql)



--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Entwickler
Дата 24.11.2008, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 14.4.2007

Репутация: нет
Всего: 2



точно!!! вот так у меня всегда!!! из за каой то ерунды!!! Спасибо!!! smile

Добавлено через 14 секунд
 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0598 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.