[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Клас для работы с mysql
Страницы: 1, 2, 3
savelikan
Привет всем! Если ли готовый клас для работы с sql запросами? Например, чтоб сообщал об ошибке, считал количество запросов?

У меня ничего не получается(
class mysql {
var $name;
function query($name){
return mysql_query($name);
}
}


$object = new mysql;


$object->query('SELECT * FROM `templates`');
echo mysql_fetch_array($object);


_____________
Одесса - мой город!)))
inpost
savelikan
Эти 2 простых строчки можно и самому написать.
В каждом фреймворке есть свой набор классов, к примеру.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
savelikan
Цитата (inpost @ 20.12.2014 - 21:53)
savelikan
Эти 2 простых строчки можно и самому написать.
В каждом фреймворке есть свой набор классов, к примеру.

Ничего не получается(
class mysql {
var $name;
function query($name){
return mysql_query($name);
}
}


$object = new mysql;


$object->query('SELECT * FROM `templates`');
echo mysql_fetch_array($object);


_____________
Одесса - мой город!)))
inpost
echo mysql_fetch_array($object);
Ты пытаешься объект обработать mysql_fetch_array, а не результат запроса ? Почему?
Даже стандартные функции похожи с классами и они ВОЗВРАЩАЮТ данные(!) через return, а куда ты вернул их?!

function test() {
return 'x';
}
test();
echo '???'; // Что тут писать надо, ведь с функцией ты уже поработал строчкой выше?


Почитай стандартный синтаксис классов, у тебя завал именно на этом уровне.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
savelikan
Цитата (inpost @ 20.12.2014 - 22:07)
echo mysql_fetch_array($object);
Ты пытаешься объект обработать mysql_fetch_array, а не результат запроса ? Почему?
Даже стандартные функции похожи с классами и они ВОЗВРАЩАЮТ данные(!) через return, а куда ты вернул их?!

Почитай стандартный синтаксис классов, у тебя завал именно на этом уровне.

Да я вот сколько времени так и не могу понять, как работать с этими класами. Простенькое могу, а вот с mysql не получается.

ВОт как я бы хотел делать:
$sql = $db=>query("SELECT ** FROM `test`");
$result = $db=>fetch_array($sql);

_____________
Одесса - мой город!)))
inpost
savelikan
Простенькое: сделай return 'x'; )

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
savelikan
ВОт как я бы хотел делать:
$sql = $db=>query("SELECT ** FROM `test`");
$result = $db=>fetch_array($sql);


inpost, ну да, так работает, а с запросом mysql?



class mysql {
function query($query_string){
return mysql_query($query_string);
}
}


$object = new mysql;

$SQL = $object->query('SELECT * FROM `templates`');
$TST = $object->mysql_fetch_array($SQL);


_____________
Одесса - мой город!)))
volter9
Цитата (inpost @ 20.12.2014 - 23:53)
savelikan
Эти 2 простых строчки можно и самому написать.
В каждом фреймворке есть свой набор классов, к примеру.

Есть фреймворки которые имеют компоненты для работы с БД, да к еще есть фреймвокри вроде medoo для работы с БД.

savelikan
А вообще вам это нужно? Если вам нужно простая проверка то почему бы создать просто функцию?

Вот раньше я таким пользовался:

if (!function_exists('get_array')) {
/**
* Функция возвращает массив или результат запроса.
*
* $sql = запрос
* $row = вернуть только одну строчку
* $cud = вернуть true/false при работе с INSERT, UPDATE, DELETE
* $assoc = ассоциативный массив
*
*
@param string $sql
*
@param bool $row
*
@param bool $cud
*
@param bool $assoc
*
@return array|bool
*/

function get_array($sql, $row = false, $cud = false, $assoc = true) {
$result = mysql_query($sql);
$array = array();
$type = ($assoc) ? MYSQL_ASSOC : MYSQL_NUM;

if ($result) {
// c = insert, u = update, d = ...
if ($cud) {
if (mysql_affected_rows() >= 0) {
return true;
}

return false;
}
else if ($row && mysql_num_rows($result) > 0) {
if ($assoc) {
$array = mysql_fetch_assoc($result);
}
else {
$array = mysql_fetch_row($result);
}
}

else if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_array($result, $type)) {
$array[] = $row;
}
}

else {
return false;
}
}

else {
return false;
}

return $array;
}
}


Если Вам нужен класс для работы с БД можете посмотреть как там сделано у inpost в его Creative CMS.

_____________
Мой блог
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.