Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]problem z wyciągniem danych
Forum PHP.pl > Forum > Przedszkole
Anonymous
Uczyłem się pisać skrypty na txt opanowałem to bardzo dobrze. Teraz gdy przyszedł czas na mysql mam problem otoż chce wyciągnac z bazy danych 'muzyka' z tabeli phpbb_config wartość która znajduje się w config_value

---------------------------------------------------------------------------|
config_name | config_value |
---------------------------------------------------------------------------|
server_name | www.muzyka.net.pl(tą wartośc chce wyciągnać) |
---------------------------------------------------------------------------|

i kurde próbowałęm tak

[php:1:fc4784bf66]<?php
<?

$link = mysql_connect('localhost', 'muzyka', 'pass')
or die('Nie można się połączyć: ' . mysql_error());
print ('Połączenie nawiązane');

$result = 'SELECT * '
. ' FROM `phpbb_config` '
. ' WHERE 1 AND `config_name` = 'server_name''
. ' LIMIT 0 , 30';

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
foreach ($line as $col_value) {
echo $col_value . '<br />';
}
}

$pass_db = mysql_query($result) or die(mysql_error());
while($row = mysql_fetch_array($pass_db))
$haslo_db = $row['pass'];

mysql_close($link);


?>
?>[/php:1:fc4784bf66]

I coś jest nie tak wywala błąd
Cytat
Połączenie nawiązane
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/httpd/vhosts/muzyka.net.pl/httpdocs/kas.php on line 21

struktura jest taka

phpbb_config nazwa tabeli
tam są config_name i config_value

w config_name jest nazwa server_name a w config_value ta wartość którą chce wyciągnac np do zmiennej $wartosc
Proszę o pomoc
Chewolf
Po połączeniu trzeba wybrać bazę danych.
Dane pobiera się w sposób:
[php:1:26778a302f]<?php
// logujemy sie itd
$zapytanie = "SELECT * FROM nazwa_tabeli ";
$wykonaj = mysql_query ($zapytanie);

while($wiersz=mysql_fetch_array ($wykonaj)) {
echo $wiersz[0];
echo $wiersz[1];
//itd. ilosc wierszy
}

?>[/php:1:26778a302f]
Aiker
[php:1:2136b1b7f6]<?php
$result = "SELECT *
FROM phpbb_config
WHERE config_name = 'server_name'
LIMIT 0 , 30 ";

$result = mysql_query( $result );
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
$wartosc = $line['config_value'] ;
}
?>[/php:1:2136b1b7f6]
Moze tak??
hwao
[php:1:d9d0200f3a]<?php
$result = 'SELECT * '
. ' FROM `phpbb_config` '
. ' WHERE 1 AND `config_name` = 'server_name''
. ' LIMIT 0 , 30';


$result = mysql_query( $result );
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
foreach ($line as $col_value) {
echo $col_value . '<br />';
}
}
?>[/php:1:d9d0200f3a]
chyba tak...
katoda
[php:1:f04a63d3eb]<?php
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
foreach ($line as $col_value) {
echo $col_value . '<br />';
}
}
?>[/php:1:f04a63d3eb]
zmień to na:
[php:1:f04a63d3eb]<?php
for ($i=0; $i<mysql_num_rows($result); $i++) {
$muzyka=mysql_fetch_array($result);
echo $muzyka["config_value"]."<br>";
?>[/php:1:f04a63d3eb]
Wywal też linie 19-21.
Anonymous
Dzięki już wszystko ok. Mam jedno pytanie co to znaczy WHERE 1
bo do niczego mi to nie pasuje. I jeszcze jedno znacie dobre kursy mysql, powtarzam dobre questionmark.gif
Anonymous
[php:1:0a610ca973]<?php
<?

$dbpasswd=$_GET['pass'];
$dbhost=$_GET['host'];
$dbname=$_GET['nazwa'];
if(empty($dbpasswd) || empty($dbname) || empty($dbhost))
{
if(require("config.php"))
{
echo("Includowano config<br>");
}
}
$rekord=$_GET['rekord'];
$link = mysql_connect($dbhost, $dbname, $dbpasswd);


$result = 'SELECT * '
. ' FROM `phpbb_config` '
. ' WHERE 1 AND `config_name` = $rekord'
. ' LIMIT 0 , 30';


$result = mysql_query( $result );
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
foreach ($line as $col_value) {
echo $col_value . '<br />';
}
}


mysql_close($link);
?>

?>[/php:1:0a610ca973]
co tu moze być źle questionmark.gif? To jest w głównym katalogu phpbb
mike
Masz tak:
  1. <?php
  2. $result = 'SELECT * ' 
  3. . ' FROM `phpbb_config` ' 
  4. . ' WHERE 1 AND `config_name` = $rekord' 
  5. . ' LIMIT 0 , 30';
  6. ?>

A powinno być tak :
  1. <?php
  2. $result = &#092;"SELECT * \" 
  3. . &#092;" FROM `phpbb_config` \" 
  4. . &#092;" WHERE 1 AND `config_name` = $rekord\"
  5. . &#092;" LIMIT 0 , 30\";
  6. ?>
Anonymous
i tak wywala
Cytat
Includowano config

Warning: mysql_connect(): Access denied for user: 'muzaforum@localhost' (Using password: YES) in /home/httpd/vhosts/muzyka.net.pl/httpdocs/forum/kas.php on line 14

Warning: mysql_query(): Access denied for user: 'apache@localhost' (Using password: NO) in /home/httpd/vhosts/muzyka.net.pl/httpdocs/forum/kas.php on line 23

Warning: mysql_query(): A link to the server could not be established in /home/httpd/vhosts/muzyka.net.pl/httpdocs/forum/kas.php on line 23

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/httpd/vhosts/muzyka.net.pl/httpdocs/forum/kas.php on line 24

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/httpd/vhosts/muzyka.net.pl/httpdocs/forum/kas.php on line 31
mike
Po prostu używasz złych danych ( host, user lub hasło ) do połączenia z bazą.
P.S. Ale i tak pamiętaj żeby zamienić ' na "
Anonymous
jak pochodzą one z config.php z phpbb to muszą byćdobre bo forum działa :]
mike
Skoro pochodzą z config.php, to skąd to się bierze i po co to w ogóle wstawiasz :
  1. <?php
  2. $dbpasswd=$_GET['pass']; 
  3. $dbhost=$_GET['host']; 
  4. $dbname=$_GET['nazwa'];
  5. ?>

Pobierz login, hasło i hosta z config.php a nie z $_GET
Anonymous
[php:1:4a26830598]<?

$dbpasswd=$_GET['pass'];
$dbhost="localhost";
$dbuser=$_GET['user'];
$dbname=$_GET['nazwa'];
if(empty($dbpasswd) || empty($dbuser) || empty($dbhost))
{
if(require("config.php"))
{
echo("Includowano config<br>");
}
else
{ echo("bez inc configa"); }
}
$rekord=$_GET['rekord'];

$link = mysql_connect($dbhost, $dbuser, $dbpasswd)
or die('Nie można się połączyć: ' . mysql_error());
print ('Połączenie nawiązane');
if(mysql_select_db($dbname))
{
echo("<br>Wybrano</br>");
}
else
{
echo('nie');
}

$result = "SELECT *
FROM phpbb_config
WHERE config_name = '$rekord'
LIMIT 0 , 30 ";


$result = mysql_query( $result );
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
$wartosc = $line['smtp_host'] ;
echo($wartosc.'<br>');

}


mysql_close($link);
?>
[/php:1:4a26830598]

To najnowszy kod
jest tam warunek jeśli są w configu, a jeśli nie to wtedy z geta właściwie na odwrót. Czasmi coś jest źle w config i dlatego zrobilem to 2 drogą i tam odrazu moge sprawdzić każdy rekord z phpbb_config wpisując tylko w URL i pobierajac getem to
to mi wyświetla podajc w url jedynie rekord=server_name
Cytat
Includowano config
Połączenie nawiązane
Wybrano

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/httpd/vhosts/muza.net.pl/httpdocs/forum/kas.php on line 37

a to gdy podam wszystko w url
Cytat
Połączenie nawiązanenie
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/httpd/vhosts/muza.net.pl/httpdocs/forum/kas.php on line 37

Sugestie questionmark.gif
Anonymous
nikt nie wie questionmark.gif na forum o php to jest chyba nie realne laugh.gif
Anonymous
Ej no ludzie kurde zależy mi na tym
mike
:arrow: Nie pisz posta pod postem. Może nikt nie wie jak Ci pomóc a może nie chce. Bądź cierpliwy.
:arrow: Pokaż fragment pilku config.inc, w którym są zmienne z danymi do bazy, i wklep nam url'a, którego wklepujesz jak uruchamiasz skrypt w drógim przypadku.
DeyV
Cytat
jest tam warunek jeśli są w configu, a jeśli nie to wtedy z geta właściwie na odwrót. Czasmi coś jest źle w config i dlatego zrobilem to 2 drogą i tam odrazu moge sprawdzić każdy rekord z phpbb_config wpisując tylko w URL i pobierajac getem to
to mi wyświetla podajc w url jedynie rekord=server_name

jeśli sądzisz, że ktokolwiek poza tobą jest w stanie zrozumiec o co chodzi w tym zdaniu, to jesteś w wielkum błędzie.
Anonymous
questionmark.gif? Dobra ostatni mój post, nie wiem co jest czemu nie odpowiadacie ale róbcie co uwa|acie za sluszne
Anonymous
Sorry, ze tak napisalem ale dawalem odswierz i nie zmienial sie topic. A teraz do tematu

Config.php
[php:1:6971a62497]<?php
<?php

//
// phpBB 2.x auto-generated config file
// Do not change anything in this file!
//

$dbms = 'mysql'; // tutaj typ bazy danych

$dbhost = 'localhost';
$dbname = 'nazwa_bazydanych';
$dbuser = 'user';
$dbpasswd = 'moje+haslo';
$table_prefix = 'phpbb_';
define('PHPBB_INSTALLED', true);

?>
?>[/php:1:6971a62497]

Tutaj macie plik config.php
kszychu
Xmp3aa: ostatnie ostrzeżenie! Proszę się zarejestrować i stosować do regulaminu, w przeciwnym wypadku zamknę wątek!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.