Jump to content
  • 0

ооп (работа с sql)


Faust
 Share

Question

Доброго времени суток

Недавно начал изучать применение ООП в php, написал класс который работает с SQL бд (добавляет удаляет и выберает записи из бд).

добавление и удаление проходят на ура а вот с извлечением и печатью записи проблема. Наверняка дело в какойто мелочи, кто разбирается в этом вопросе гляньте код и подскажите где поправить или дайте ссылку если вопрос уже обсуждался.


<?php
class base
{
var $connect;
var $query;
var $base_name;
var $tabl;

function base($host, $base_name, $user, $pass)
{
$this->base_name = $base_name;
$this->connect = @mysql_connect($host,$user,$pass);
if (!$this->connect)
{
echo( "<P>No connect to db</P>" );
exit();
}
echo( "<P>connect to db</P>" );
if (!@mysql_select_db($this->base_name,$this->connect))
{
echo( "<P>No select db</P>" );
exit();
}
echo( "<P> select db</P>" );
}

function insert($cap, $tabl)
{
$this->query = @mysql_query("INSERT INTO ".$this->tabl = $tabl." VALUES(NULL,'$cap')");
if (!$this->query)
{
echo ('no query');
}
else
{
echo ('query insert complit<br/>');
}
}

function select ($cap, $tabl)
{
$this->query = @mysql_query("SELECT * FROM ".$this->tabl = $tabl." WHERE cap='".$cap."'");
if (!$this->query)
{
echo ('no query');
}
else
{
echo ('query select complit <br/>');
return $this->query;
}
}

function delete($cap, $tabl)
{
$this->query = @mysql_query("DELETE FROM ".$this->tabl = $tabl." WHERE cap='".$cap."'");
if (!$this->query)
{
echo ('no query');
}
else
{
echo ('query delete complit <br/>');
}
}
}
$add = new base('localhost','test','root','');

if (isset($_GET['q']))
{
$add->insert($_GET['q'],'tabl');

$add->select($_GET['q'],'tabl');

echo $add->query;

$add->delete($_GET['q'],'tabl');
}
?>

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Все прекрасно возвращает.

немного порезал ваш вариант.

<?php
class base
{

function base($host, $base_name, $user, $pass)
{
if (!@mysql_connect($host,$user,$pass))
{
echo( "<P>No connect to db</P>" );
exit();
}
echo( "<P>connect to db</P>" );
if (!@mysql_select_db($base_name))
{
echo( "<P>No select db</P>" );
exit();
}
echo( "<P> select db</P>" );
}

function select ($cap, $tabl)
{
$this->query = @mysql_query("SELECT * FROM ".$this->tabl = $tabl." WHERE cap='".$cap."'");
if (!$this->query)
{
echo ('no query');
}
else
{
echo ('query select complit <br/>');
return $this->query;
}
}

}
$add = new base('localhost','test','root','');

$add->select($_GET['q'],'tabl');

while ($Result = mysql_fetch_assoc($add->query))
{
print_r ($Result);
}
?>

http://www.softtime.ru/group/id_group=2 - пригодиться.

Link to comment
Share on other sites

  • 0

Спасибо Scrum !!!!

яже и не подумал что это оно не просто переменную возвращает а всю запись теперь буду знать !!! и за ссылку тож пасибо

А то что класс примитивный очень, то это да, я же только учу пхп

(учу пхп и SQL месяц только, а ooп и вовсе недели 1,5 так что на великое пока и не претендую)

за ссылку Ялекс пасибо буду разбиратся

Link to comment
Share on other sites

  • 0

Парни, обьясните преимущества работы с классами и в частности оформления запроса к БД в таком виде.

Тоже пытаюсь научится ООП, но пока понять "изюминку" не получается, хотя чую что она есть

Edited by Sserg-135
Link to comment
Share on other sites

  • 0

Вообще ООП подход сам по себе призван структурировать данные, методы. Чего то сверх нового от ООП ждать не стоит, просто четко прописывается структура, а это + в понимании кода.

SQL запросы не стоит прописывать, как указано в приведенном классе. Теряется вся гибкость SQL.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy