Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL], dodawanie rekordów
siemarek
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 13.08.2008

Ostrzeżenie: (0%)
-----


Witam
Gdy próbuję zapisać do bazy dane pobrane z pliku, rekordy zostają dodane ale pola pozostają puste
Kod
           <?php
               $aDBLink = @mysql_connect( "127.0.0.1", "root");
               $czy=mysql_select_db( "db2", $aDBLink );
               if ($czy== True) echo("jest");
           // baza istnieje i jest wybrana
                $aSQL  = "insert into kontrah ( kkod, knaz) values ( '$aT[0]', '$aT[1]')";
          
                $aLogFilePath = "kontrah.txt";
                // Sprawdzenie czy plik istnieje
               if ( is_file($aLogFilePath) == True )
               {
                  $aFile = fopen( $aLogFilePath, "r" );
                  while( !feof( $aFile ) )
                   {
                       $aLine = fgets( $aFile, 1024 );
                       $aT = explode( ";", $aLine );
                       echo $aT[0], $aT[1];
           // echo wyświetla wartości prawidłowo
                     $aQResult = mysql_query( $aSQL, $aDBLink );
           //rekordy są dodawane ale pola pozostają bez wartości
                    }
                fclose( $aFile );
                }

natomiast gdy jakieś dane podane jawnie do zmiennych
Kod
    
            $aSQL  = "insert into kontrah ( kkod, knaz) values ( '$kod', '$naz')";
           $kod="aaaa";
             $naz="bbbb";
             $aQResult = mysql_query( $aSQL, $aDBLink );

rekordy są dodawane prawidłowo z wartościami
pola w bazie typu varchar - jakaś niezgodność? proszę o wskazówki
Go to the top of the page
+Quote Post
bim2
post
Post #2





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Poczytaj o zasięgu zmiennych. Na poczatku dajesz
$aSQL = "insert into kontrah ( kkod, knaz) values ( '$aT[0]', '$aT[1]')";
ale zmienna $aT jest dopiero pod tym. Przenieś niżej zapytanie i będzie ok. Dokładniej przenieś je za deklaracje zmiennej ;D
Go to the top of the page
+Quote Post
piotrooo89
post
Post #3


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




to
  1. <?php
  2. $aSQL  = "insert into kontrah ( kkod, knaz) values ( '$aT[0]', '$aT[1]')";
  3. ?>


daj tu
  1. <?php
  2. while( !feof( $aFile ) )
  3.                   {
  4.                       $aLine = fgets( $aFile, 1024 );
  5.                       $aT = explode( ";", $aLine );
  6.                       echo $aT[0], $aT[1];
  7.           // tutaj!!!
  8.                     $aQResult = mysql_query( $aSQL, $aDBLink );
  9.           //rekordy są dodawane ale pola pozostają bez wartości
  10.                    }
  11. ?>


Ten post edytował piotrooo89 15.11.2008, 16:44:13
Go to the top of the page
+Quote Post
siemarek
post
Post #4





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 13.08.2008

Ostrzeżenie: (0%)
-----


Dzięki, i tak trzeba
moje rozumowanie polegało na tym, że tworzenie zapytania
Kod
$aSQL  = "insert into kontrah ( kkod, knaz) values ( '$aT[0]', '$aT[1]')";

jest przygotowaniem szablonu (ciąg zapisany do zmiennej) a wykonanie następowało już po utworzeniu zmiennej w nim używanej, ale....
pozdrawiam siemarek
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 13:28