Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Poprawność kodu
Forum PHP.pl > Forum > Przedszkole
jakis_login
Witam
Możecie zobaczyć czy ten kod jest poprawny? w komentarzach jest wykorzystana starsza biblioteka mysql i teraz chciałbym zamienic na nowszą mysqli. Czy dobrze robię zamiany, głównie chodzi mi o pętlę.
  1.  
  2. //$link = @mysql_connect("localhost", "root", "test") or die("nie udało się połączyć");
  3. //@mysql_select_db("nazwa_bazy") or die ("nie udało się wybrać bazy danych");
  4.  
  5. $db = new mysqli("localhost", "root", "test", "nazwa_bazy") or die ("nie udało się połączyć");
  6.  
  7.  
  8.  
  9. //$result = mysql_query("SELECT a,b,c FROM nazwa_bazy") or die("nie udało się pobrać danych");
  10.  
  11. $result = $db->query("SELECT a,b,c FROM nazwa_bazy") or die("nie udało się pobrać danych");
  12.  
  13.  
  14.  
  15. //while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
  16. // kod petli
  17. //}
  18.  
  19. while($row = $result->fetch_assoc()){
  20. //kod petli
  21. }
nospor
No a działa? Jesli dziala to robisz dobrze. Jesli nie dziala to napisz czym się objawia nie dzialanie
jakis_login
Chodzi mi głównie o to że strona działa mi na localhoscie bez zarzutów (Parametry: Wersja mysql: 4.0.26, Używane rozszerzenia PHP: mysql, phpMyAdmin - 2.11.4, PHP 4.4.7 Apache 2.2.6) a jak umieszcze na darmowym serwerze vixo.pl (Parametry: Wersja PHP 5.2.13, Wersja MySQL 5.1.45, Apache w wersji 2.2.15 (Unix)) to nie działa. To znaczy dla np tego dodawania rekordów:
  1. $Imie = addslashes($Imie);
  2. $Nazwisko = addslashes($Nazwisko);
  3.  
  4. $db = new mysqli("nazwa_servera", "login", "haslo", "nazwa_bazy") or die ("blad");
  5.  
  6. $result = $db->query("insert into nazwa_tabeli values ('".$Imie."', '".$Nazwisko."')");

rekord zostaje dodany ale jest pusty (brak w nim wartości wpisanych) mimo wpisanych wartości a na localu to śmiga idealnie. Więc myślałem że może to wina starszego mysql ale użyłem teraz tej nowszej mysqli i dalej nie działa (rekord dodany ale bez wartości)
nospor
Chodzi o register_globals
http://nospor.pl/php-faq.html#faq-3
jakis_login
taaa faktycznie teraz dodawanie działa idealnie;) Powiedz mi jeszcze czemu np to chodzi na localu a na serwerze nie:
  1. header("Content-type: text/xml");
  2.  
  3. echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
  4.  
  5. echo "<Kontakty>";
  6.  
  7. while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
  8. echo "<Kontakt>";
  9. foreach($row as $klucz => $wartosc){
  10. if ($klucz == "Imie")
  11. echo "<Imie>".$wartosc."</Imie>";
  12. else if ($klucz == "Nazwisko")
  13. echo "<Nazwisko>".$wartosc."</Nazwisko>";
  14.  
  15. }
  16. echo "</Kontakt>";
  17. }
  18.  
  19. echo "</Kontakty>";

wyswietlane za pomoca ajaxa:
  1. XHR.open("GET", "kontakt.php" + "?random=" + Math.random(), true);
która zmienna musze zmienić w pierwszym fragmecie kodu lub moze coś innego trzeba zrobic?
nospor
chodzi, nie chodzi... no ale czym się objawia to "niechodzenie"?

Lektura obowiązkowa dla Ciebie
Temat: Jak poprawnie zada pytanie
Przeczytaj dokładnie 5 razy każdy punkt z tego tematu. Potem wróć do zadawania pytan na forum
jakis_login
Cytat(nospor @ 13.10.2010, 11:06:48 ) *
no ale czym się objawia to "niechodzenie"?

wyświetla pusta stronę zamiast wyników więc myślę, że też coś z tym register_globals tylko nie za bardzo wiem którą teraz zmienna trzeba poprawić w tym kodzie z poprzedniego postu?
nospor
Zainstaluj sobie FireBuga do FireFox i zobacz co dokladnie robi Twoj ajax
Fifi209
Zacznijmy od tego, że tak do cho%#$y nie generuje się xml'a!

Panowie, od czego jest np. simplexml ?
nospor
Przesadzasz fifi. Zeby zrobic banalny xml nie ma większej potrzeby zaprzegac do tego jakiś libów. Zwykle echo i po sprawie.
Fifi209
Cytat(nospor @ 13.10.2010, 12:36:06 ) *
Zwykle echo i po sprawie.

Nie raz przez to zwykłe echo miałem problem przy generowaniu xml'a, dlatego wolę unikać tego typu rozwiązań. Jeżeli jest gotowe rozwiązanie, które ma mi ułatwić pracę to czemu nie?
nospor
Cytat
Nie raz przez to zwykłe echo miałem problem przy generowaniu xml'a,
Widac zapominales o CDATA oraz htmlspecialchars winksmiley.jpg
Fifi209
Akurat problemem były znaki nowych linii - choć przyznam nie wiem skąd się tam zabrały ^

[ / offtopic ]
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.