Проблем с зaявка

mizarck

Registered
Здравейте,
нещо една заявка не ми бачка
Код:
<?php
include ("config.php");
$query2 = mysql_query("select * from menu");
while($rows2 = mysql_fetch_array($query2))
{
echo "$rows2[2]<br>";
}
?>

config.php
Код:
<?php
$user        	 	 = "***";
$pass       		 = "***";
$database   		 = "***";
$host                = "localhost";
$connection = mysql_connect("$host", "$user", "$pass");
$db = mysql_select_db("$database", $connection);
?>

SQL
Код:
CREATE TABLE `menu` (
  `id` text collate cp1251_bulgarian_ci NOT NULL,
  `title` text character set cp1251 NOT NULL,
  `name` text collate cp1251_bulgarian_ci NOT NULL,
  `link` text collate cp1251_bulgarian_ci NOT NULL,
  `0` text collate cp1251_bulgarian_ci NOT NULL,
  `1` text collate cp1251_bulgarian_ci NOT NULL,
  `2` text collate cp1251_bulgarian_ci NOT NULL,
  `3` text collate cp1251_bulgarian_ci NOT NULL,
  `4` text collate cp1251_bulgarian_ci NOT NULL,
  `5` text collate cp1251_bulgarian_ci NOT NULL,
  `6` text collate cp1251_bulgarian_ci NOT NULL,
  `7` text collate cp1251_bulgarian_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bulgarian_ci;

писах кода 15 пъти и пак нищо

ПЛС хелп
 

jooorooo

Registered
<?php
include ("config.php");
$query2 = mysql_query("select * from 'menu'");
while($rows2 = mysql_fetch_array($query2))
{
echo "$rows2[2]<br>";
}
?>

пробвай така.. може от това да е.. при мен се е случвало вече..
 

mizarck

Registered
мне е от това

грешка
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in H:\Core\htdocs\apps\menu.php on line 4
 

jooorooo

Registered
<?php
include ("config.php");
$query2 = mysql_query("select * from menu");
$rez=mysql_query($db,$connection);
while($rows2 = mysql_fetch_array($rez))
{
echo "$rows2[2]<br>";
}
?>
 

Admin

Registered
$rows2[2] -> това не е нищо.

Вместо 2 сложи името на полето което търсиш. :?

$rows2['title']

Бафи?
Какво ти стана и на тебе?
 

vladislav

Registered
о до колкото виждам полето му е 2 ама според мен трябва да е така

$rows2['2'];
с кавички
пък и не знам дали полето може да е цифра
 

bafitu

Registered
admin , нищо просто трябва името на таблицата да сложи в ` ` :)
и бтв
mysql_fetch_array
ще върне и цифрен и асоциативен(с думички) масив така , че не е там проблема..
а това mysql_error() му го сложих ако е проблема другаде да изпише грешката :)
 

mizarck

Registered
нито един от споменатите начини недоведе до различна грешка или резултат

възможно ли е грешката да е от това че името на колоната е число
 

bafitu

Registered
не няма проблеми,
както казах сложи or die (mysql_error()); и виж каква грешка ти дава...
неможе да не дава нищо или да не извежда нищо..
в краен случай слагаш
error_reporting(E_ALL);
...
 

mizarck

Registered
bafitu каза:
не няма проблеми,
както казах сложи or die (mysql_error()); и виж каква грешка ти дава...
неможе да не дава нищо или да не извежда нищо..
в краен случай слагаш
error_reporting(E_ALL);
...
грешка невади но вади нещо което не ми трябва
ето скрипта
Код:
<?php
error_reporting(E_ALL); 
include ("config.php");
$query2 = mysql_query("SELECT * from menu") or die (mysql_error());
while($rows2 = mysql_fetch_array($query2))
{
echo "$rows2[0]...$rows2[1]...$rows2[2]...$rows2[3]...$rows2[4]<br>";
}
?>

резултат
Код:
1...1...1...1...1
1...0...0...0...0

а реално трябва да вади това
1......Новини...news.php...1
2......Регистрация...reg.php
 

bafitu

Registered
mysql_fetch_array <- махни го
ползвай mysql_fetch_assoc
и сложи в цикъла print_r($rows2);
да видиш кво ти вади от базата
 

jooorooo

Registered
Код:
 <?php 
error_reporting(E_ALL); 
include ("config.php"); 
$query2 = mysql_query("SELECT * from `menu`") or die (mysql_error()); 
while($rows2 = mysql_fetch_array($query2)) 
{ 
echo "$rows2[0]...$rows2[1]...$rows2[2]...$rows2[3]...$rows2[4]<br>"; 
} 
?>

http://webjo.no-ip.org/111/test.php

П.П. ето какво съм попълнил в MySQL:

Код:
CREATE TABLE `menu` (
  `id` text collate cp1251_bulgarian_ci NOT NULL,
  `title` text character set cp1251 NOT NULL,
  `name` text collate cp1251_bulgarian_ci NOT NULL,
  `link` text collate cp1251_bulgarian_ci NOT NULL,
  `0` text collate cp1251_bulgarian_ci NOT NULL,
  `1` text collate cp1251_bulgarian_ci NOT NULL,
  `2` text collate cp1251_bulgarian_ci NOT NULL,
  `3` text collate cp1251_bulgarian_ci NOT NULL,
  `4` text collate cp1251_bulgarian_ci NOT NULL,
  `5` text collate cp1251_bulgarian_ci NOT NULL,
  `6` text collate cp1251_bulgarian_ci NOT NULL,
  `7` text collate cp1251_bulgarian_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bulgarian_ci;

-- 
-- Дъмп (схема) на данните в таблицата `menu`
-- 

INSERT INTO `menu` (`id`, `title`, `name`, `link`, `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`) VALUES 
('1', 'gfds gfd', 'gf gfdgfd', 'http://web-tourist.net', 'fe fwe', ' f fre re', 'bg rfb grf', ' bgf dfs dbf', ' sd vrvfed', ' vfd brtrbed', ' vsd erf ve', ' bdf bd'),
('2', 'bvfbnyt', ' gte tg t', '5435345', 'fgregfre', 'gfegerfgtr', 'gregr', 'gergerge', 'regreger', 'gergergre', 'bgfjytjty', 'tre3gfewr');

за да покажеш title ползвай $rows2[title]
 

bafitu

Registered
за 2ри път го казвам:
mysql_fetch_array ще върне и цифрен и асоциативен(с думички) масив.
Но ти имаш в базата полета с цифри и при масива ще станат 1 върху друго пр.
ще върне за $rows[0] -> полето id
и така докато свършат полетата
после в масива се добавят отново същите само , че индексите не са цифрите , а имената на полетата.
Но в случая полетата ти са цифри и все едно записваш отгоре върху старите..все едно имаш $var = 1; и после имаш пак $var = 2; ..
разбираш ли какво искам да ти кажа.
Затова ползвай mysql_fetch_assoc да ти върне масив единствено с индекси имената на полетата.
 

mizarck

Registered
Явно проблема е в сървъра защото кода на жоро и бафиту връщат един и същ резултат
1...1...1...1...1
1...0...0...0...0
ще си направя сървъра на ново и ако пак и има проблем с същия скрипт ще пиша

10х за оделеното внимание
 

Горе