Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
fictiont
45 / 45 / 9
Регистрация: 19.11.2012
Сообщений: 124
1

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

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

Здавствуйте, есть класс вида:
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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2013, 22:20
Ответы с готовыми решениями:

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

при запросе вида «script.php?id=ЗАПРОС» выводить статью под номером «ЗАПРОС»
Написать php-скрипт, который при запросе вида «script.php?id=ЗАПРОС» будет...

Запрос INSERT INTO как построить запрос правильно?
Народ помогите пожалуйста сделать запрос правильно. Имеется таблица users в...

Переделать SQL запрос в запрос RedBeanPHP
В общем пишу поиск по таблице, есть готовое решение, но в SQL, возникла идея...

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

2
KeyGen
384 / 291 / 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
fictiont
45 / 45 / 9
Регистрация: 19.11.2012
Сообщений: 124
02.06.2013, 11:13  [ТС] 3
Вы меня не правильно поняли. Я говорил не про обычный mysql запрос, а про подготавливаемый запрос

http://php.net/manual/ru/mysqli.quickstart.prepared-statements.php
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2013, 11:13

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru