Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQLi][PHP] Dziwny problem z obiektem mysqli
Forum PHP.pl > Forum > Przedszkole
Neymar11
Witam Was smile.gif
Co dopiero (wczoraj) zaczalem nauke mysqli w obiekcie...
No i mamy pierwszy problem...
Skrypt wyglada tak:
  1. <?php
  2. $vars = array(
  3. 'hostname' => 'lsadasdocalhost',
  4. 'username' => 'rasdasdoot',
  5. 'password' => 'adasdasda',
  6. 'msqlname' => 'sjdfiotestsksajd');
  7.  
  8. foreach($vars as $key => $value) {
  9. $key = $value;
  10. }
  11.  
  12. $mysqli = new mysqli($hostname, $username, $password, $msqlname);
  13. $plchars = $mysqli->query("SET NAMES utf8");
  14.  
  15. if (mysqli_connect_error()) {
  16. die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
  17. }
  18. echo 'Success! '. $mysqli->host_info;
  19.  
  20. $mysqli->close();
  21. ?>


Jak widac, dane nie sa prawidlowe na 100[...]0% a output wyglada tak:

  1. Success! Localhost via UNIX socket


Co tu jest grane?
Powinno mi wywalic error (to jest pewne),
a wywala mi sukces, polaczono ohmy.gif

Prosze o pomoc ... :'(

Cheers * < * neymar11
peter13135
Skoro uczysz się "mysqli w obiekcie" to pisz całość obiektowo, zamiast mieszać proceduralny z obiektowym.

http://php.net/manual/en/mysqli.connect-error.php
Neymar11
@peter13135
Wczesniej mialem full obiekt i tak samo wywalalo...
Nic mi nie dziala...
Mysle, ze to cos ze zmiennymi, ale czy odczytywanie ich przez
foreach moze miec cos z tym wspolnego?

Zawsze tak robie przy MySQL i nic sie nie dzieje - wszystko dziala!

Jednak ten foreach namieszal... I to bardzo!
  1. <?php
  2. $hostname = 'localhost';
  3. $username = 'root';
  4. $password = '';
  5. $msqlname = 'rysiek';
  6.  
  7. $mysqli = new mysqli($hostname, $username, $password, $msqlname);
  8. if ($mysqli->connect_error) {
  9. die('Connect Error (' . $mysqli->connect_errno . ') '. $mysqli->connect_error);
  10. }
  11. $plchars = $mysqli->query("SET NAMES utf8");
  12.  
  13. echo 'Success! '. $mysqli->host_info;
  14.  
  15. $mysqli->close();
  16. ?>

Kod wyglada nastepujaco i dziala wysmienicie! Pokazuje prawdziwe dane o polaczeniu i wszystko z glowy!

Dziekuje za wysilek i za chec pomocy mi tongue.gif

Cheers * < * neymar11

_______________________________________________
Gdy zle dane wpisze wywala blad 2002 i tresc erroru, a jak
dane sa poprawne pokazuje
  1. Success! Localhost via UNIX socket
SwiezuPL
  1. foreach($vars as $key => $value) {
  2. $key = $value;
  3. }

Po co? Ja pytam się, po co?

  1. if (mysqli_connect_error()) {
  2. die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
  3. }

Jeśli piszesz w obiektówce, staraj się pisać w obiektówce. $mysqli->connect_error


Spróbuj wywalić server_info. <dosyć dziwna sytuacja>

//edit
$vars = array(
'hostname' => 'lsadasdocalhost',
'username' => 'rasdasdoot',
'password' => 'adasdasda',
'msqlname' => 'sjdfiotestsksajd');
Usunąłeś to. Czemu? Wygląda to tak, jak byś nie umiał wyciągać zmiennych z arraya.
com
list extract podpowiedź wink.gif
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.