PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (4): « 1 2 3 [4]

> Найдено сообщений: 58
Andrey Отправлено: 07 Июня, 2007 - 22:44:20 • Тема: Постраничная навигация • Форум: SQL и Архитектура БД

Ответов: 0
Просмотров: 25
..
Andrey Отправлено: 05 Июня, 2007 - 22:24:54 • Тема: Как организовать передачу значения одной фукции в другую в классе • Форум: Программирование на PHP

Ответов: 2
Просмотров: 458
class.eshop.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.                        
  4. class EshopDB {
  5.  
  6.    private $conn;
  7.      
  8.    function __construct() {
  9.          include('config.inc.php');    
  10.      $this->conn=new mysqli($DB_HOST,$DB_LOGIN, $DB_PASSW, $DB_DATABASE);
  11.      $this->conn->query ("set character_set_client='cp1251'");
  12.      $this->conn->query ("set character_set_results='cp1251'");
  13.      $this->conn->query ("set collation_connection='cp1251_general_ci'");
  14.                                                   }
  15.    function db_result_to_array($res) {
  16.                
  17.      $res_array=array();
  18.      for ($count=0; $row= $res->fetch_assoc(); $count++)
  19.     $res_array[$count] = $row;
  20.     return $res_array;
  21.         }
  22.          
  23.    function get_categories() {
  24.      //делаем выборку из таблицы серий
  25.         $sql="select * from series";
  26.         $res=$this->conn->query($sql);
  27.         if (!$res)
  28.         return false;
  29.         $num_cats=$res->num_rows;
  30.         if ($num_cats==0)
  31.         return false;
  32.         $res=db_result_to_array($res);      <---- 31 строка
  33.         return $res;}
  34.  
  35. function display_categories($cat_array) {
  36.  
  37.            ....................
  38.            ...................
  39.            ...................                              }
  40.  
  41. }
  42.  


index.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. include('class.eshop.php');
  4. $eshop=new EshopDB();
  5. $cat_array=$eshop->get_categories($eshop);
  6. display_categories($cat_array);
  7. ?>
  8.  

Выдаёт браузер:

Fatal error: Call to undefined function db_result_to_array() in C:Program FilesApache GroupApache2htdocsmyshop1class.e shop.php on line 31

Почему функция db_result_to_array() неопределена?
Andrey Отправлено: 04 Июня, 2007 - 20:59:08 • Тема: Не получается использовать классы • Форум: SQL и Архитектура БД

Ответов: 1
Просмотров: 34
class.eshop.php
<?php

class EshopDB {

function __construct() {
$mysqli=new mysqli('localhost','root', '11111', 'myshop');
$mysqli->query ("set character_set_client='cp1251'");
$mysqli->query ("set character_set_results='cp1251'");
$mysqli->query ("set collation_connection='cp1251_general_ci'");
}

function menu() {
//делаем вставку в таблицу серий
$sql="INSERT INTO series VALUES(21,'b')";
$this->$mysqli->query($sql); <--------- 17 строка
}
}
?>

index.php
<?php

include('class.eshop.php');
$eshop=new EshopDB();
$eshop->menu();
unset($eshop);
echo 'Запись добавлена'

?>

Ответ браузера:

Notice: Undefined variable: mysqli in C:Program FilesApache GroupApache2htdocsmyshopclass.es hop.php on line 17

Fatal error: Cannot access empty property in C:Program FilesApache GroupApache2htdocsmyshopclass.es hop.php on line 17
Andrey Отправлено: 27 Мая, 2007 - 22:11:04 • Тема: Подключение к MySQL посредством ООП • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 44
evgenijj пишет:
А ты написал класс для работы с MySQL, прежде чем с ним работать? Напиши, подключи
require("class.mysql.php");
а уж потом работай...
Есть класс mysqli для работы с MySQL. Или можно использовать DB PEAR (http://pear.php.net)


А разве этот класс не встроенный?
Andrey Отправлено: 27 Мая, 2007 - 20:59:41 • Тема: Подключение к MySQL посредством ООП • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 44
Рабочий код:
$DB_HOST='localhost';
$DB_LOGIN='root';
$DB_PASSW='11111';
$DB_DATABASE='db';

$connect=mysql_connect($DB_HOST,$DB_LOGIN, $DB_PASSW);
if ($connect){
echo 'Соединение с MySQL установлено<br>';}
else {
echo 'Невозможно подключиться к MySQL<br>';}

Нерабочий код:
$DB_HOST='localhost';
$DB_LOGIN='root';
$DB_PASSW='11111';
$DB_DATABASE='db';
$conn=new mysql($DB_HOST,$DB_LOGIN, $DB_PASSW);
if ($conn){
echo 'Соединение с MySQL установлено<br>';}
else {
echo 'Невозможно подключиться к MySQL<br>';}

В браузере выдает ошибку:
Fatal error: Class 'mysql' not found in ...
Andrey Отправлено: 27 Мая, 2007 - 20:53:48 • Тема: Как проверить включена ли поддержка MySQL5.0 в пхп 5 • Форум: SQL и Архитектура БД

Ответов: 10
Просмотров: 116
Lis пишет:
Здраввтсвуй подскажите
Как проверить включена ли поддержка MySQL5.0 в пхп 5

Я импортировала базу пхп портала в mysql. но установка не запускается.
поэтому хочу проверить правильно ли работает пхп с mysql


Cоздай файл с таким кодом:

<?php
phpinfo();
?>

и запусти его. Посмотри, там должен быть блок "mysql". Если такой блок есть, то поддержка MySQL включена, если нет - то, соответственно нет. Надо будет включить поддержку MySQL
Andrey Отправлено: 21 Мая, 2007 - 23:30:43 • Тема: Помогите разобрать запрос • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 52
evgenijj пишет:
Функция session_id() возвращает строку - поэтому при составлении запроса мы должны использовать одинарные кавычки, чтобы указать MySQL, что это строка:
SELECT email FROM users WHERE surname='Иванов';
Если использовать твой вариант
$sql="SELECT * FROM basket WHERE customer=' session_id() ' ";
то как PHP догадается о том, что session_id() - это функция, которую надо выполнить, а результат выполнения подставить в запрос? Переменную PHP "опознает" по знаку $:
$surname = "Иванов";
$sql="SELECT * FROM basket WHERE customer='$surname'";

Хорошо, про кавычки понятно, что сам запрос на строку в одинарных, переменная в двойных, то есть ... customer=' "session_id()" ', а зачем тогда еще и точки перед и после session_id() ?
Andrey Отправлено: 21 Мая, 2007 - 23:21:22 • Тема: MySQL-Front и кодировка • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 47
evgenijj пишет:
В новых версиях MySQL (начиная с 4.1.0) изменился порядок работы с национальными кодировками, поэтому старый код может вызывать появление в таблице базы данных знаков вопроса '????????' вместо русского текста. Для того, чтобы этого не возникало, в начало PHP-скрипта, после установки соединения с базой данных, следует поместить следующие строки:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.   mysql_query ("set character_set_client='cp1251'");
  4.   mysql_query ("set character_set_results='cp1251'");
  5.   mysql_query ("set collation_connection='cp1251_general_ci'");
  6. ?>
  7.  


По поводу иероглифов
http://phpclub[dot]ru/faq/wakka.php?wakka=Mysql41Rus


Я полностью с тобой согласен, если я делаю запрос через php, но я делаю запрос непосредственно в MySQL - Front и это не помогает.
Andrey Отправлено: 21 Мая, 2007 - 22:26:27 • Тема: MySQL-Front и кодировка • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 47
Русские символы в таблице отображались то как иероглифы, то как знаки вопросов, пока я в настройках подключения не поставил кодировку binary. Русские символы отображаются ка надо. Однако когда я там в SQL-редакторе делаю запрос, результат выдаёт мне иероглифы вместо русских символов. MySQL версия 5.1.
Может кто сталкивался с такой пролемой?
Andrey Отправлено: 21 Мая, 2007 - 22:18:23 • Тема: Помогите разобрать запрос • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 52
Для определения количества товаров в корзине есть запрос:
$sql="SELECT count(*) FROM basket WHERRE customer=' " . session_id() ." ' ";
Мне не совсем понятно почему count(*), а не просто звездочка и зачем перед session_id() ставить одинарную кавычку, потом двойную, а потом ещё и точку? Почему этот запрос нельзя написать в таком виде:
$sql="SELECT * FROM basket WHERRE customer=' session_id() ' ";
Второй вид выдаёт ошибку.

Andrey Отправлено: 12 Мая, 2007 - 11:43:04 • Тема: Пользовательские функции • Форум: Программирование на PHP

Ответов: 4
Просмотров: 557
UserID пишет:

Функция работает только с локальными переменными, т.е. вне этой функции ты никак не узнаешь, есть подключение, или нет.

Мой вариант твоей проблемы:
PHP:
скопировать код в буфер обмена
  1.  
  2. function conn(){
  3. $DB_DATABASE = "XXXX";
  4. $DB_HOST = "XXXXX.mysql.masterhost.ru";
  5. $DB_USER = "XXXXX";
  6. $DB_PASS = "YYYY";
  7. $connect = mysql_connect($DB_HOST,$DB_USER,$DB_PASS);
  8. return $connect;
  9. }
  10.  
  11. $connect = conn();
  12.  
  13. if(!connect) { и так далее }
  14.  



Поял свою ошибку. Большое спасибо!
Andrey Отправлено: 09 Мая, 2007 - 23:30:35 • Тема: По поводу date() • Форум: Программирование на PHP

Ответов: 2
Просмотров: 282
при запросе echo date(r) получаем:

Thu, 10 May 2007 00:30:04 +0400

Как сделать, чтобы вывод был русский: то есть в таком виде:

Вт, 10 Мая 2007 .... ?
Andrey Отправлено: 09 Мая, 2007 - 23:24:32 • Тема: Пользовательские функции • Форум: Программирование на PHP

Ответов: 4
Просмотров: 557
Здравствуйте.
Может кто сталкивался с такой проблемой.
Настройки для соединения с БД выношу в отдельный файл, который цепляю includе'ом - всё хорошо, всё работает. Вот рабочий код:
<?php
$DB_DATABASE = "XXXX";
$DB_HOST = "XXXXX.mysql.masterhost.ru";
$DB_USER = "XXXXX";
$DB_PASS = "YYYY";
$connect=mysql_connect($DB_HOST,$DB_USER,$DB_PASS);
?>
Потом решил это всё собрать в функцию:
<?php
function conn(){
$DB_DATABASE = "XXXX";
$DB_HOST = "XXXXX.mysql.masterhost.ru";
$DB_USER = "XXXXX";
$DB_PASS = "YYYY";
$connect=mysql_connect($DB_HOST,$DB_USER,$DB_PASS);}
?>
Это чтобы когда нужно будет, вызывать функцию conn().
Звтем выполняю стандартную проверку:

if ($connect){
print "MySQL успешно подключена";
}else{
print "Не могу подключиться к MySQL";
}


В первом случае все хорошо, но когда я настройки забиваю в функцию и затем эту функцию вызывааю, мне пишет, что нет соединения.

В чём тут может быть проблема?

Страниц (4): « 1 2 3 [4]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB