Форум: "Прочее";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
Внизвопрос по php Найти похожие ветки
← →
xayam © (2007-10-24 11:15) [0]mysql 4.1, php 5
такой код
$result = mysql_query("select ID_WORD from words where WORD = ".$match[0][$i]);
$row = mysql_fetch_row($result);
$id_wrd = $row[0];
mysql_free_result($result);
на строках с mysql_fetch_row($result) и mysql_free_result($result) выдается ошибка:Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in index.php
Подскажите что это значит? Вроде стандартная обработка.
← →
Eraser © (2007-10-24 11:26) [1]
> xayam © (24.10.07 11:15)
> select ID_WORD from words where WORD = ".$match[0][$i]
$match[0][$i] в апострафы неплохо бы загнать, т.к. возможна sql-инъекция.
> Подскажите что это значит?
это значит, что запрос false выдает скорее всего.
← →
xayam © (2007-10-24 11:26) [2]все спасибо разобрался
http://www.php.net/manual/ru/faq.databases.php#faq.databases.mysqlresource
← →
Dmitry S © (2007-10-24 11:28) [3]Кстати там же, в мане, написано, что mysql_free_result использовать не обязательно и не нужно:)
← →
homm © (2007-10-24 11:31) [4]> Подскажите что это значит?
Это значит, что supplied argument is not a valid MySQL result resource!
← →
xayam © (2007-10-24 11:31) [5]еще один вопрос.
php в какой кодировке работает, я так понял utf-8, а мне нужно windows-1251. Есть какой-нибудь конвертер?
← →
homm © (2007-10-24 11:34) [6]> [5] xayam © (24.10.07 11:31)
> php в какой кодировке работает
php в основном чхать на кодировку.
← →
xayam © (2007-10-24 11:36) [7]
> homm © (24.10.07 11:34) [6]
> php в основном чхать на кодировку.
получается что не так, потому что у меня в файле windows-1251, в базе windows-1251, а php вводит в базу каракули ((. Вот нашел функцию convert_cyr_string. Она подойдет?
← →
Dmitry S © (2007-10-24 11:37) [8]нет, она не работает с юникодом или UTFом.
Настраивай MySQL... в документации есть решение...
← →
homm © (2007-10-24 11:38) [9]> [7] xayam © (24.10.07 11:36)
Это не кодировка рхр, это кодировка соединения с базой.mysql_query("SET NAMES CP1251");
← →
homm © (2007-10-24 11:41) [10]> [7] xayam © (24.10.07 11:36)
> а php вводит в базу каракули
Кстати, можно не особопарится, если поделка на коленке (судя по всему это так). При доставании из базы будет обратное преобразование, и вернется тоже, что и ввел.
← →
Dmitry S © (2007-10-24 11:42) [11]он вводит, скорее всего, через phpmyadmin :)
← →
xayam © (2007-10-24 11:47) [12]
> Dmitry S © (24.10.07 11:42) [11]
> он вводит, скорее всего, через phpmyadmin :)
нет, через скрипт, данных много. Кстати а как на хостинге выполнить этот скрипт, в 30 секунд явно не уложусь, если set_time_limit не будет работь?
← →
Dmitry S © (2007-10-24 11:47) [13]никак:)
← →
homm © (2007-10-24 11:47) [14]> [12] xayam © (24.10.07 11:47)
> Кстати а как на хостинге выполнить этот скрипт, в 30 секунд
> явно не уложусь, если set_time_limit не будет работь?
Доьавлять по частям, как-то отмеряя части, которые уже добавил.
← →
xayam © (2007-10-24 12:01) [15]
> homm © (24.10.07 11:41) [10]
> если поделка на коленке
просто нет большого опыта программирования на php)) но я думаю справлюсь, если с кодировкой нормально будет))
← →
xayam © (2007-10-24 17:03) [16]
> homm © (24.10.07 11:38) [9]
> > [7] xayam © (24.10.07 11:36)
> Это не кодировка рхр, это кодировка соединения с базой.
> mysql_query("SET NAMES CP1251");
странно, но это не помогает
пишу после этой строчки так
$charset = mysql_client_encoding();
echo $charset;
выводит - latin1_swedish_ci
Почему так?
← →
homm © (2007-10-24 17:32) [17]> [16] xayam © (24.10.07 17:03)
> странно, но это не помогает
Ты выполняешь это после коннекта к базе данных?
> странно, но это не помогает
> пишу после этой строчки так
> $charset = mysql_client_encoding();
> echo $charset;
Только в этом проявляется «не помогает» или действительно не помогает?
← →
xayam © (2007-10-24 17:37) [18]
> homm © (24.10.07 17:32) [17]
> > [16] xayam © (24.10.07 17:03)
> > странно, но это не помогает
>
> Ты выполняешь это после коннекта к базе данных?
ну да конечно
> Только в этом проявляется «не помогает» или действительно
> не помогает?
ну конечно действительно, через mysql manager смотрел - одни каракули ((, хотя на базу поставил cp1251 и все таблицы
← →
Dmitry S © (2007-10-25 04:00) [19]попробуй еще
mysql_query("SET CHARACTER SET cp1251");
← →
xayam © (2007-10-25 22:42) [20]
> Dmitry S © (25.10.07 04:00) [19]
> попробуй еще
> mysql_query("SET CHARACTER SET cp1251");
это синонимы, тоже не помогает
> homm © (24.10.07 11:41) [10]
> При доставании из базы будет обратное
> преобразование, и вернется тоже, что и ввел.
нет, выводит каракули ((
← →
xayam © (2007-10-27 14:56) [21]еще вот так попробовал
mysql_query("SET character_set_client="cp1251"");
mysql_query("SET character_set_results="cp1251"");
mysql_query("SET character_set_connection="cp1251"");
тоже не помогает
← →
xayam © (2007-10-28 13:45) [22]Удалено модератором
← →
xayam © (2007-11-04 16:07) [23]
> homm © (24.10.07 17:32) [17]
я все-таки разобрался с кодировкой - http://php-myadmin.ru/learning/mysql-cir.html...Однако, следует заметить, что это НЕ будет работать, если пользователь, которым вы подключаетесь к базе имеет привилегию SUPER (а стандартный пользователь root к таким относится, так же как и все созданные через "GRANT ALL PRIVILEGES ON *.* TO ..."). Это сделано для того, чтобы в случае ошибки в этом запросе (а его можно изменить во время работы), хоть кто-то мог подключиться к базе и исправить его...
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.046 c