Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
45 / 45 / 9
Регистрация: 19.11.2012
Сообщений: 124
1

Подготавливаемый запрос

01.06.2013, 22:20. Показов 1574. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здавствуйте, есть класс вида:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class DB_c extends DB_data
    {
        private $cn;
        public $db_select;
 
        function __construct()
        {
            $this->open_connection();
            //echo "Connection is set, DB is - $this->DB_NAME";
        }
        private function open_connection()
        {
            $this->cn = mysql_connect($this->DB_HOST, $this->DB_USER, $this->DB_PASS);
            if (!$this->cn) 
                die ("<br />connection to db failed - ".mysql_error()."<br />");
            else
            {
                $this->db_select = mysql_select_db($this->DB_NAME, $this->cn);
                if(!$this->db_select)
                    die("<br />selection of db is failed - ".mysql_error()."<br />");
            }
            mysql_query("set names utf8") or die ("<br /> set names utf8 failed <br />");
        }
 
        function obtain_data($smth, $table_name)
        {
            $result = $this->cn->prepare("select (:smth) from (:table)");  //LINE 29
            $result->bindParam(':smth', $smth);
            $result->bindParam(':table', $table_name);
 
            $result->execute();
 
            $num = mysql_num_rows($result);
            for ($i = 0; $i < $num; $i++)
            {
                $res[] = $result->fetch();
            } 
            $res['e_nm'] = $num;
            return $res;
        }
        
    }
И два вопроса:
1) при выполнении ф-ции obtain_data выдает ошибку:
Fatal error: Call to a member function prepare() on a non-object in --- on line 29 (отмечена в коде комментарием)

2) $num = mysql_num_rows($result); корректна ли такая ф-кция для результата полученного с помощью подготавливаемого запроса? Если нет, то какой есть метод получения кол-ва строк в результате.

Спасибо всем за ответы, громко не кричите =(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2013, 22:20
Ответы с готовыми решениями:

Запрос Select T-sql - Вложенный запрос вернул больше одного значения
Нужно посчитать комиссию от сделки. DealShare(комиссия) - поле таблицы agents, supplies -...

Как посмотреть T-SQL запрос который генерирует Entity Framework запрос
как посмотреть T-SQL запрос который генерирует Entity Framework запрос в visual studio 2010, 2012

Как записать запрос так чтобы их запрос суммировался в одну ячейку?
Как записать этот запрос так чтобы их запрос суммировался в одну ячейку? Перепробовал все что знал...

Почему ответ на GET запрос из Python отличается от ответа на GET запрос из HTTP Analyzer
Добрый день. Делаю GET запрос из HTTP Analyzer Указываю только адрес запроса:...

2
387 / 294 / 21
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
02.06.2013, 02:58 2
Цитата Сообщение от fictiont Посмотреть сообщение
$this->cn->prepare
Чет-то я непонял что это за конструкция? Вызываем метод класса а в этом методе еще метод...?

Результат запроса можно перебрать так:
PHP
1
2
3
4
5
        $query = "SELECT * FROM table where name='find'";
        $res = mysql_query($query) or die ("Error: ".mysql_error());
        while($row = mysql_fetch_assoc($res)){
            var_dump($row);
        }
0
45 / 45 / 9
Регистрация: 19.11.2012
Сообщений: 124
02.06.2013, 11:13  [ТС] 3
Вы меня не правильно поняли. Я говорил не про обычный mysql запрос, а про подготавливаемый запрос

http://php.net/manual/ru/mysql... ements.php
0
02.06.2013, 11:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2013, 11:13
Помогаю со студенческими работами здесь

Как в sql запрос вставить еще один запрос правильно?
Есть длинный запрос, в котором можете даже не разбираться если не хотите, но выдает он следующее:...

Как в Delphi сделать запрос на запрос, база mssql, BDE
Добрый день! Кто-нибудь может подсказать, как можно Tquery и использовать как таблицу, при...

Запрос данных из БД. Один большой запрос или много маленьких?
Есть основная форма, на которой расположен TreeView, содержащий щас 30 ветвей. По щелчке на ветке...

Как переделать запрос в цикле на один запрос с фильтром по массиву
Мне говорят: код неправильный, надо запрос ciblockelement::getlist c фильтром по разделу, который...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru