Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Problem z zapytaniem
Forum PHP.pl > Forum > Przedszkole
Rafal_new_PHP
blinksmiley.gif Problem z zapytaniem. Chce pobrać id z bazy danych gdzie login=login potem chce id wywolac. Jednak cos moje zapytanie nie dziala i nie wiem jak wywołać. Bardzo prosze o pomoc siedze nad tym pare godzin.

Kod


$wynik2 = $db->query("SELECT id FROM usery WHERE login='$login'");
  if (!$wynik2)
{
     throw new Exception('Wykonanie zapytania nie powiodło się.');
   echo 'Wykonanie zapytania nie powiodło się.';
exit;
  
  
}


echo $id;
erix
Może chociaż powiesz, co to za magiczna klasa $db? tongue.gif

Twój własny sterownik do bazy, czy co? Szklane kule nam zabrali.
michalg
Przydałoby się wiedzieć jeszcze, co to za błąd, pozatym że wystąpił.

Jeśli $db to nie Twoja klasa, to szukaj metod w stylu get last error, get error itp.
Jeśli to Twoja i nie masz metody do zwracania błędu, to sobie dopisz. W PDO można to robić np za pomocą PDO->errorInfo(), dla postgresa jest funkcja pg_result_error itp
Rafal_new_PHP
Tak to mój projekt. Bledu niema jako takiego winksmiley.jpg chodzi tylko mi o to że nie wiem czy te zapytanie jest dorze napisane $wynik2 a jeśli dobrze napisałem to jak wywołać te id gdzie indziej. Np cos w stylu echo $id; by zobaczyc czy zwraca id.

$wynik2 = $db->query("SELECT id FROM usery WHERE login='$login'");
if (!$wynik2)
{
throw new Exception('Wykonanie zapytania nie powiodło się.');
echo 'Wykonanie zapytania nie powiodło się.';
exit;


}


echo $id;
michalg
Co zwraca $db->query?
Rafal_new_PHP
queru ma zwracać id z bazy usery gdzie login=login
$wynik2 = $db->query("SELECT id FROM usery WHERE login='$login'");
michalg
Ma zwracać, ale co zwraca? Resource, tablicę z wierszami, jednym wierszem?

Najlepiej, gdybyś wkleił kod tej metody query.
Rafal_new_PHP
Kod


<?php

$login='login';
$opis_zdjecia=$_POST['opis_zdjecia'];

@ $db = new mysqli('localhost', 'root', '', 'pocwiczmy');
if (mysqli_connect_errno())
{
echo'nie polaczono z baza danych';
exit;
}

$wynik2 = $db->query("SELECT id FROM usery WHERE login='$login'");
  if (!$wynik2)
{
     throw new Exception('Wykonanie zapytania nie powiodło się.');
   echo 'Wykonanie zapytania nie powiodło się.';
exit;
  
  
}


echo $id;



  if ($_FILES['plikuzytkownika']['error'] > 0)
  {
    echo 'Problem: ';
    switch ($_FILES['plikuzytkownika']['error'])
    {
      case 1: echo 'Rozmiar pliku przekroczył wartość upload_max_filesize'; break;
      case 2: echo 'Rozmiar pliku przekroczył wartość max_file_size'; break;
      case 3: echo 'Plik wysłany tylko częściowo'; break;
      case 4: echo 'Nie wysłano żadnego pliku'; break;
    }
    exit;
  }

// czy plik ma prawidłowy typ MIME?

  if ($_FILES['plikuzytkownika']['type'] != 'image/gif')
  {
    echo 'Problem: plik nie jest plkiem graficznym';
    exit;
  }

// umieszczenie pliku w pożądanej lokalizacji
  $lokalizacja = 'C:\wamp\www\rozdzial_18\user'.$_FILES['plikuzytkownika']['name'];

  if (is_uploaded_file($_FILES['plikuzytkownika']['tmp_name']))
  {
     if (!move_uploaded_file($_FILES['plikuzytkownika']['tmp_name'], $lokalizacja))
     {
        echo 'Problem: Plik nie może być skopiowany do katalogu';
        exit;
     }
  }
  else
  {
    echo 'Problem: możliwy atak podczas wysyłania pliku. Nazwa pliku: ';
    echo $_FILES['plikuzytkownika']['name'];
    exit;
  }

  echo 'Plik wysłany<br><br>';

// ponowne sformatowanie zawartości pliku
  $wp = fopen($lokalizacja, 'r');
  $zawartosc = fread ($wp, filesize ($lokalizacja));
  fclose ($wp);

  $zawartosc = strip_tags($zawartosc);
  $wp = fopen($lokalizacja, 'w');
  fwrite($wp, $zawartosc);
  fclose($wp);
// pokazanie, co zostało wysłane
  echo 'Podgląd zawartości wysłanego pliku:<br><hr>';
  echo $zawartosc;
  echo '<br><hr>';
echo $_FILES['plikuzytkownika']['name'];

?>
michalg
Jeśli dobrze przeczytałem w dokumentacji, to mysqli::query zwraca mysqli_result. Więc powinno się dać zrobić
coś takiego:

$wiersz = $wynik2->fetch_assoc();
echo $wiersz['id'];

Zapoznaj się z dokumentacją klas mysqli i mysqli_result.
Rafal_new_PHP
temat zamkniety smile.gif dziekuje za pomoc.
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.