Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kod do sprawdzenia
Forum PHP.pl > Forum > Przedszkole
Martin24
Czy ten kod jest ok, bo cały skrypt nie działa...
  1. <?php
  2.  
  3. $query1 = &#092;"SELECT id FROM books WHERE autor LIKE '$search%' \"; 
  4. $result1= @mysql_query ($query1); 
  5. $row1= mysql_fetch_array($result1);
  6. $wstaw1 = &#092;"INSERT INTO tmp (book_id) VALUES ('$row1')\";
  7. $akcja1 = mysql_query ($wstaw1);
  8.  
  9. ?>
zbig13
Wyrzuć @ przed mysql_query to się dowiemy co się dzieje dokładnie, ale już teraz moge ci powiedzieć, że w linii 6 powinno być:
  1. <?php
  2.  
  3. $wstaw1 = &#092;"INSERT INTO tmp (book_id) VALUES ('$row1[0]')\";
  4.  
  5. ?>

Wywołując funkcję mysql_fetch_array" title="Zobacz w manualu PHP" target="_manual() zwracana jest tablica z rekordami wybranymi w zapytaniu. W Twoim wypadku było to tylko id, ale mimo to i tak trzeba dać $row1[0].
Pozdrawiam!
Martin24
Dzięki, jest lepiej, ale jeszcze jedno:
czy można napisać:
  1. <?php
  2.  
  3. $query4 = &#092;"SELECT book_id FROM tmp\"; 
  4. $result4 = @mysql_query ($query4); 
  5. $row4 = mysql_fetch_array($result4);
  6. $odczyt = &#092;"SELECT autor , tytul FROM books WHERE id = $row4\";
  7. $result_odczyt = @mysql_query($odczyt);
  8.  
  9. ?>
mdco
zbig13 napisał Ci już $row4 to tablica.
czyli:
  1. <?php
  2.  
  3. $odczyt = &#092;"SELECT autor , tytul  FROM books WHERE id = '\".$row4[0].\"'\";
  4.  
  5. ?>
Martin24
No tak, fakt... mój błąd. Zaraz sprawdzę.
zbig13
I znowu ten sam błąd smile.gif
Nie:
  1. <?php
  2. $odczyt = &#092;"SELECT autor , tytul FROM books WHERE id = $row4\";
  3. ?>

tylko:
  1. <?php
  2. $odczyt = &#092;"SELECT autor , tytul FROM books WHERE id = {$row4[0]}\";
  3. ?>

Zwróć uwagę jeszcze na te nawiasy klamrowe {}. Używa się ich do wyświetlania wartości tablicy ($tablica['klucz']), zmiennej superglobalnej ($_POST[], $_GET[] itp.), sesji lub ciasteczka ($_COOKIE, $_SESSION) kiedy są one w łańcuchu znaków czyli pomiędzy znakami " " lub ' '. Tak samo powinny być one w moim poprzednim poście, ale zapomniałem smile.gif Teraz się poprawiam:
  1. <?php
  2. $wstaw1 = &#092;"INSERT INTO tmp (book_id) VALUES ('{$row1[0]}')\"; 
  3. ?>
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.