#131 2008.02.29 19:47

Admin
Administrator
Зарегистрирован: 2007.11.03
Сообщений: 95
Карма: -1
Профиль

Re: PHP+MySQL

Да, конечно, ВЕЗДЕ и ПОВСЮДУ используй UTF-8. Главное условие - ВЕЗДЕ, а не как в одном мерзком скрипте, называемом еще  "бодр-чатом", и тогда проблем не будет. В БД данные тоже должны храниться в UTF-8.
Часто проблема возникает с тем, что сервера настроены на ISO 8859 или windows-1251, а нам нужен UTF-8.
Решается это следующим образом: сразу после соединения с базой отправляем MySQL серверу информацию, что мы будем работать с UTF-8.

Код:

1
span style="color: #0000BB"><?php// Хост, пользователь, парольmysql_connect('localhost', 'root', '') or die('Can not connect to MySQL');// UTF-8mysql_query('SET NAMES `utf8`');// БДmysql_select_db('blog') or die('Error select the database');?>

лично я этот код как правило выделяю в отдельный файл - connect.php и где надо подключаю через require
Еще, твой код

Код:

1
span style="color: #0000BB"><?php$query=mysql_query("SELECT * FROM `users` WHERE `nick`='$nick' AND `pass`='$pass'");if(mysql_num_rows($query)<1) {mysql_close($connect);exit($prolog.'Вы не зарегистрированны!'.$end);}else {mysql_close($connect);session_start();$_SESSION['login']=$nick;?>

вот это
if(mysql_num_rows($query)<1) {mysql_close($connect);
exit($prolog.'Вы не зарегистрированны!'.$end);}

в принципе фигня. но лучше писать более грамотно и красиво, а именно
if(!mysql_num_rows($query) {
mysql_close($connect);
exit($prolog.'Вы не зарегистрированны!'.$end);
}

дальше...
else {
mysql_close($connect);
session_start();
$_SESSION['login']=$nick;

хм... mysql_close($connect); - спорная вещь. соединение (если оно не постоянное (pconnect)) само закроется через 60 сек (по умолчанию). Но дело в том, что пользователь у тебя здесь таки прошел авторизацию, и далее он теоретически пойдет дальше бродить по форуму, т.е. будет коннектится к MySQL, так вот... не стоит лишний раз передергивать такие соединения. Если подразумевается что пользователь в дальнейшем будет использовать скрипт, то соединение закрывать не стоит, это открытое соединение используется при следующем действии пользователя. Оптимизация епт =) Я на ней помешан =)


сердце пронзенное ветром

Неактивен

#132 2008.02.29 23:06

Helqg
Участник
Откуда: 52 регион
Зарегистрирован: 2008.01.23
Сообщений: 306
Карма: 2
Профиль

Re: PHP+MySQL

Гм. Ага. Не подумал об этом. В следующем же скриптеsmile. Купить бы где учебник по мускулу. Один оракул продают. Че нить знаешь о нем?

Отредактировано Helqg (2008.02.29 23:08)


Стране нужны автобусы!

Неактивен

#133 2008.02.29 23:27

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: PHP+MySQL

Об Оракуле? не smile основы MySQL я лично брал из книжки Кузнецова & Симдянова PHP 5, потом какия-то инфа из сети. Часто пользуюсь этим http://wapinet.ru/textbook/mysql/ построение SQL запросов как правило не вызывает особых проблем. Главное изначально грамотно спроектировать Базу Данных.

Неактивен

#134 2008.03.01 10:10

Helqg
Участник
Откуда: 52 регион
Зарегистрирован: 2008.01.23
Сообщений: 306
Карма: 2
Профиль

Re: PHP+MySQL

Тякс. Как вывести из базы постранично? Можно ли как переносить указатель у mysql_fetch array?
А то mysql_result и 2 цикла, это повеситься можно.


Стране нужны автобусы!

Неактивен

#135 2008.03.01 10:37

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: PHP+MySQL

Оператор LIMIT wink

Код:

1
SELECT * FROM `table` WHERE `xz`=1 LIMIT 0,10

Неактивен

#136 2008.03.02 21:29

Helqg
Участник
Откуда: 52 регион
Зарегистрирован: 2008.01.23
Сообщений: 306
Карма: 2
Профиль

Re: PHP+MySQL

Как пользоваться COUNT()?
$запрос=мускул_запрос("SELECT COUNT(*) FROM таблица");
Что вернет $запрос? Точнее какой тип данных, может просто число?smile


Стране нужны автобусы!

Неактивен

#137 2008.03.03 09:44

Серый
Гость

Re: PHP+MySQL

Gemorroj, привет, подскажи плиз как сделать отсчёт времени от какого - нить события, где-то видел, а как не помнюsad

#138 2008.03.03 10:25

Admin
Administrator
Зарегистрирован: 2007.11.03
Сообщений: 95
Карма: -1
Профиль

Re: PHP+MySQL

Helqg, вот что по этому поводу сказано на ru2.php.net
Только для запросов SELECT, SHOW, EXPLAIN, DESCRIBE, mysql_query() возвращает указатель на результат запроса, или FALSE если запрос не был выполнен. В остальных случаях, mysql_query() возвращает TRUE в случае успешного запроса и FALSE в случае ошибки. Значение не равное FALSE говорит о том, что запрос был выполнен успешно. Он не говорит о количестве затронутых или возвращённых рядов. Вполне возможна ситуация, когда успешный запрос не затронет ни одного ряда.
для подсчета пользуйся следующей конструкцией

Код:

1
span style="color: #0000BB"><?php$count = mysql_result(mysql_query('SELECT COUNT(*) FROM `tables` WHERE `xz` = "xz2"'),0);?>

в переменной $count будет требуемый результат.


сердце пронзенное ветром

Неактивен

#139 2008.03.03 10:31

Admin
Administrator
Зарегистрирован: 2007.11.03
Сообщений: 95
Карма: -1
Профиль

Re: PHP+MySQL

Серый, не совсем понятен вопрос...

Код:

1
span style="color: #0000BB"><?php// текущая дата$date = date('r',time());// текущая дата - 1 день$date = date('r',time()-86400);?>

сердце пронзенное ветром

Неактивен

#140 2008.03.03 11:26

Helqg
Участник
Откуда: 52 регион
Зарегистрирован: 2008.01.23
Сообщений: 306
Карма: 2
Профиль

Re: PHP+MySQL

Ясно. Жалко конечно. Ну не число, так не число.


Стране нужны автобусы!

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.033 s