• 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?

+1 głos
560 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,580 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,580 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,580 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 (355,180 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ź 854 wizyt
0 głosów
1 odpowiedź 437 wizyt
pytanie zadane 18 czerwca 2019 w SQL, bazy danych przez Maikel11 Początkujący (470 p.)
0 głosów
1 odpowiedź 282 wizyt

93,742 zapytań

142,680 odpowiedzi

323,299 komentarzy

63,329 pasjonatów

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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...