• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

jak okreslic bazę sql, dlaczego select nie działa?

HackNation - ogólnopolski hackathon
+1 głos
455 wizyt
pytanie zadane 8 października 2020 w SQL, bazy danych przez Mateusz Kita Początkujący (380 p.)

Mam w mysql utworzoną baze "baza", oraz inne bazy. Jak wybrać baze "baza"?

Bo SELECT z tego co rozumiem sluzy do wyboru tabeli, ale jak najpierw okreslic z ktorej bazy?

 

Mam jeszcze drugie pytanie. Mam w bazie "baza" tabelę "tabela1". Gdy probuję sie po prostu odniesc tak jak w artykulach (czyli bez okreslenia wczesniej bazy) do takiej tabeli jest błąd:

Parse error: syntax error, unexpected 'tabela1' (T_STRING) in /opt/lampp/htdocs/strona/test/index.php on line 10

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<?php
		
		SELECT * FROM tabela1;
		
		?>
	</body>
</html>

 

1 odpowiedź

0 głosów
odpowiedź 9 października 2020 przez VBService Ekspert (256,600 p.)

Domyślam się, że chodzi Tobie o połączenie się z bazą danych za pomocą  php. Musisz w pierwszej kolejności nawiązać połączenie z serwerem bazy danych za pomocą polecenia: mysqli connect() np.:

<?php
$mysqli = new mysqli("localhost","login","hasło","nazwa_bazy_danych");

// Check connection
if ($mysqli -> connect_errno) {
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  exit();
}
?>

 

 

                                

komentarz 9 października 2020 przez Mateusz Kita Początkujący (380 p.)

Zrobiłem tak:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
	
		<?php
		$mysqli = new mysqli("localhost","","","baza");

		// Check connection
		if ($mysqli -> connect_errno) {
			echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
			exit();
		}

		
		SELECT * FROM tabela1;
		
		?>
	</body>
</html>

i dalej jest ten error:

Parse error: syntax error, unexpected 'tabela1' (T_STRING) in /opt/lampp/htdocs/strona/test/index.php on line 19

komentarz 9 października 2020 przez VBService Ekspert (256,600 p.)

Teraz musisz użyć mysqli prepare() do utworzenia zapytania za pomocą sql-a.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
     
        <?php
        $mysqli = new mysqli("localhost","","","baza");
 
        // Check connection
        if ($mysqli -> connect_errno) {
            echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
            exit();
        }
 
         $stmt = $mysqli -> prepare("SELECT * FROM tabela1");
         $stmt -> execute();
         
        ?>
    </body>

to polecenie spowoduje wysłanie Twojego zapytania do bazy danych i wykonanie go.

$stmt = $mysqli -> prepare("SELECT * FROM tabela1");
$stmt -> execute();

 

komentarz 9 października 2020 przez Mateusz Kita Początkujący (380 p.)
dlaczego wszędzie w kursach jest by tylko wpisać

SELECT * FROM tabela;

?
komentarz 9 października 2020 przez Mateusz Kita Początkujący (380 p.)

Teraz jest błąd

Warning: mysqli::__construct(): (HY000/1044): Access denied for user ''@'localhost' to database 'baza' in /opt/lampp/htdocs/strona/test/index.php on line 3
Failed to connect to MySQL: Access denied for user ''@'localhost' to database 'baza'

komentarz 9 października 2020 przez VBService Ekspert (256,600 p.)
edycja 9 października 2020 przez VBService

Musisz podać login i hasło

$mysqli = new mysqli("localhost","login","hasło","baza");

Widzę, że uzywasz lampp

 /opt/lampp/htdocs/strona/test/index.php

domyślnie w lampp, jak nic nie zmieniałeś samodzielnie, to połączenie powinno wyglądać tak:

$mysqli = new mysqli("localhost","root","","baza");

trzeci parametr czyli hasło w tym przypadku jest puste

komentarz 9 października 2020 przez Mateusz Kita Początkujący (380 p.)
uzywam xampp, czyli na localhost,

nie mam hasła ani uzytkownika
1
komentarz 9 października 2020 przez Mateusz Kita Początkujący (380 p.)

@VBService,
 wpisałem root i teraz działa

komentarz 9 października 2020 przez adrian17 Mentor (354,880 p.)

dlaczego wszędzie w kursach jest by tylko wpisać

SELECT * FROM tabela;

?

Bo kursy uczą składni SQLa - a Ty próbujesz wrzucić SQLa w środek kodu PHPa.

Podobne pytania

0 głosów
1 odpowiedź 797 wizyt
0 głosów
1 odpowiedź 394 wizyt
pytanie zadane 18 czerwca 2019 w SQL, bazy danych przez Maikel11 Początkujący (470 p.)
0 głosów
1 odpowiedź 255 wizyt

93,628 zapytań

142,551 odpowiedzi

323,051 komentarzy

63,133 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 1936p. - dia-Chann
  2. 1916p. - DziarnowskiJ
  3. 1886p. - Łukasz Piwowar
  4. 1841p. - raydeal
  5. 1840p. - Adrian Wieprzkowicz
  6. 1782p. - rucin93
  7. 1640p. - CC PL
  8. 1616p. - Maurycy W
  9. 1588p. - Tomasz Bielak
  10. 1521p. - Michal Drewniak
  11. 1491p. - Rafał Trójniak
  12. 1471p. - rafalszastok
  13. 1444p. - robwarsz
  14. 1257p. - ssynowiec
  15. 1208p. - Mariusz Fornal
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...