- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте!
Помогите пожалуйста исправить ошибку:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\phpsite\ on line 6
Вот php код:
<?php
$db = mysql_connect("localhost","user","password");
mysql_select_db("sitedb",$db);
$result = mysql_query("SELECT title FROM set WHERE page='index'",$db);
$myrow = mysql_fetch_array($result);
?>
<?php echo $myrow['title']; ?>
БД:
CREATE TABLE `set` (
`id` int(99) NOT NULL auto_increment,
`page` text NOT NULL,
`title` varchar(255) NOT NULL,
`desc` varchar(255) NOT NULL,
`keyw` varchar(255) NOT NULL,
`text` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=5 ;
--
-- Дамп данных таблицы `set`
--
INSERT INTO `set` VALUES (1, 'index', 'Главная', 'Простое описание', 'Ключики', 'Текст текст текст текст');
Ответ на вопрос "Что делали до того, как появилась ошибка?": Пишу движок сам, с нуля. Появилась после того, как начал коннектиться к БД.
Ответ на вопрос "логин и пасс проверяли?": Да.
Сервер: denwer
$db = mysql_connect("localhost","user","password") or die(mysql_error());
mysql_select_db("sitedb",$db) or die(mysql_error());
$result = mysql_query("SELECT title FROM set WHERE page='index'",$db) or die(mysql_error());
так пробовали?
set - служебное слово. Перепишите
$result = mysql_query("SELECT title FROM set WHERE page='index'",$db);на
$result = mysql_query("SELECT title FROM `set` WHERE page='index'",$db);дублирование
В большинстве случаев
означает ошибку в SQL. Сделайте сразу после mysql_query(...) вот так:
set - служебное слово. Перепишите
$result = mysql_query("SELECT title FROM set WHERE page='index'",$db);на
$result = mysql_query("SELECT title FROM `set` WHERE page='index'",$db);Попробовал изменить название таблицы, не помогло.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc,text FROM tropa WHERE page='index'' at line 1
id9999 добавил 19.04.2009 в 21:34
$db = mysql_connect("localhost","user","password") or die(mysql_error());
mysql_select_db("sitedb",$db) or die(mysql_error());
$result = mysql_query("SELECT title FROM set WHERE page='index'",$db) or die(mysql_error());
так пробовали?
Да, не помогло.
id9999 добавил 19.04.2009 в 21:39
В большинстве случаев
означает ошибку в SQL. Сделайте сразу после mysql_query(...) вот так:
Не помогло.
работает. не надо юзать ключевые слова в названии таблиц и полей.
id9999, что Вы имеете ввиду под "Не помогло"? Вы не увидели, какую ошибку возвращает MySQL-сервер?
Во первых по человечески к базе приконнектитесь.
таблицу сделайте zzz, и вперед
<?
define("DBName","base");
define("HostName","localhost");
define("UserName","user");
define("Password","password");
if(!mysql_connect(HostName,UserName,Password))
{
echo "".DBName."!<br>";
echo mysql_error();
exit;
}
mysql_select_db(DBName);
$result = mysql_query("SELECT title FROM zzz WHERE page='index'");
$myrow = mysql_fetch_array($result);
?>
<?php echo $myrow['title']; ?>
Пролема оказалась в служебном названии поля таблицы.
Кроме поля title я использовал еще и keywords,desc,text...(на примере убрал, чтобы код был по меньше)
Так вот поле desc оказалось проблемным, сменил его название и все заработало.
Всем спасибо!