Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]
Forum PHP.pl > Forum > Przedszkole
siemarek
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
bim2
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
piotrooo89
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. ?>
siemarek
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
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.