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

Object Storage Arubacloud
+1 głos
191 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 (252,740 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 (252,740 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 (252,740 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 Ekspert (344,860 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ź 543 wizyt
0 głosów
1 odpowiedź 240 wizyt
pytanie zadane 18 czerwca 2019 w SQL, bazy danych przez Maikel11 Początkujący (470 p.)
0 głosów
1 odpowiedź 189 wizyt

92,551 zapytań

141,399 odpowiedzi

319,529 komentarzy

61,937 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...