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

mysqli->query Nie działa

Object Storage Arubacloud
–1 głos
1,297 wizyt
pytanie zadane 2 września 2016 w SQL, bazy danych przez Siudson Nowicjusz (140 p.)
edycja 2 września 2016 przez HaKIM

Witam , Strona łączy się z bazą mysql ,ale w momencie wywołania $result = $connection->query($sql) zostaje zwrócony fałsz , nie wyskakuje żaden komunikat o błędzie czy ktoś wie czym ten problem może być spowodowany ?

korzystałem z Kursu PHP Pana Mirosława:

https://www.youtube.com/watch?v=Pp578w7C9hE

 

<?php
require_once "connect.php";
$user=$_POST['login'];
$password=$_POST['haslo'];

$connection = new mysqli($host,$db_user,$db_password,$db_name);

if($connection->connect_errno==0)
{

$sql="SELECT * FROM konta WHERE Login='$user' AND Hasło='$password'";

if($result = $connection->query($sql))
{



Pozdrawiam i proszę o pomoc.

komentarz 2 września 2016 przez efiku Szeryf (75,160 p.)
Użyj PDO i prepared statements. ;)
1
komentarz 2 września 2016 przez xandros Nałogowiec (29,450 p.)
W oczekiwaniu, aż Event napisze poradnik do PDO łap: http://pastebin.com/Gfq4cFSK
komentarz 2 września 2016 przez MichuDev Pasjonat (20,300 p.)

Sprawdź bazę danych (połączenie, istnienie tabeli, istnienie pól Login i Hasło), oraz sprawdzenie czy w bazie pole z hasłem nazywa się Hasło (może być haslo, itp). Oraz zastosuj się do tego co powiedział efik.

 

komentarz 2 września 2016 przez efiku Szeryf (75,160 p.)
Xandros w 11 linii masz błąd. Jakie set names xd po prostu do połączenia dokleic kodowanie jest w manualu.
komentarz 2 września 2016 przez xandros Nałogowiec (29,450 p.)

Szukam i nie moge znaleźć. Jednyne co znajduję, to ta opcja z dodawaniem set names utf8 przez MYSQL_ATTR_INIT_COMMAND  do połączenia. Ale dzisiaj wysokie ciśnienie, więc skupić się nie moge. =/

komentarz 2 września 2016 przez efiku Szeryf (75,160 p.)
$dsn="mysql:host(...)charset=utf8";
komentarz 2 września 2016 przez xandros Nałogowiec (29,450 p.)
No tak, teraz widze: http://stackoverflow.com/a/4361485

Nie tyle co wrażliwy błąd, co bad practice or sth like that.

1 odpowiedź

0 głosów
odpowiedź 4 września 2016 przez Thomas Frost Bywalec (2,540 p.)
Cześć,

​Musisz przygotować swoje zapytanie i połączyć je z połączeniem do bazy danych:
 

$connection = new mysqli($host,$db_user,$db_password,$db_name);
$stmt = $connection ->prepare("SELECT * FROM konta WHERE Login = ? AND Haslo = ?");
$stmt->bind_param("ss", $user, $password);
$stmt->execute();
$stmt->bind_result($id, $surowce1, $surowce2);
​$stmt->fetch();
$stmt->close();
​$connection->close();
 

Przy bind_result powinieneś mieć tyle zmiennych ile zostanie wyciągniętych.
​Jeśli chcesz wyciągnąć więcej możesz wstawić $stmt->fetch() do pętli while (ponieważ fetch() zwraca true, jeśli zostało coś wyciągnięte, oraz false jeśli nic nie zostało wyciągnięte). Wszystkie dane z bazy danych zostaną wrzucone do zmiennych (lub nadpisane) podanych w bind_param().

Pozdrawiam,
Tomek
komentarz 5 września 2016 przez Pietrak Pasjonat (18,850 p.)
Przede wszystkim nie używaj operatora *.

Podobne pytania

0 głosów
2 odpowiedzi 2,302 wizyt
pytanie zadane 13 grudnia 2015 w SQL, bazy danych przez artimal Gaduła (4,800 p.)
0 głosów
1 odpowiedź 197 wizyt
pytanie zadane 5 sierpnia 2018 w PHP przez hiveplay Początkujący (430 p.)
0 głosów
2 odpowiedzi 223 wizyt

92,565 zapytań

141,416 odpowiedzi

319,596 komentarzy

61,948 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!

...