Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

txt datoteka ne ide u MySQL

[es] :: MySQL :: txt datoteka ne ide u MySQL

[ Pregleda: 2286 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Micy89
Cacak

Član broj: 213365
Poruke: 10
79.101.44.*



Profil

icon txt datoteka ne ide u MySQL30.04.2011. u 12:13 - pre 157 meseci
txt datoteka ne ide u MySQL, vrtim se u krug, ne mogu da pronadjem gresku

Code:

<?php
session_start();

$baza         = "baza1"      ;
$ip_adresa  = "localhost"   ;
$us_baze    = "root"         ;
$ps_baze    = ""               ;

$konekcija = mysql_connect($ip_adresa,$us_baze,$ps_baze)   or die("nije se uspostavila veza udaljeni MySQL  A");
mysql_select_db ($baza,$konekcija)   or die("nije otvorena baza");

$obrisi=mysql_query("delete from tabela1");


$fp = fopen("demo.txt", "r");
$i=0;
$k=0;

$b0 ='' ;
$b1 ='' ;
$b2 ='' ;
$b3 ='' ;
$b4 ='' ;
$b5 ='' ;
$b6 ='' ;
$b7 ='' ;
$b8 ='' ;
$b9 ='' ;
$b10 ='' ;
$b11 ='' ;
$b12 ='' ;
$b13 ='' ;
$b14 ='' ;
$b15 ='' ;

print "<table cellspacing=1 bgcolor=#000000>";

print "<tr>";
 print "<td bgcolor=#ffffff>1</td>";
 print "<td bgcolor=#ffffff>2</td>";
 print "<td bgcolor=#ffffff>3</td>";
 print "<td bgcolor=#ffffff>4</td>";
 print "<td bgcolor=#ffffff>5</td>";
 print "<td bgcolor=#ffffff>6</td>";
 print "<td bgcolor=#ffffff>7</td>";
 print "<td bgcolor=#ffffff>8</td>";
 print "<td bgcolor=#ffffff>9</td>";
 print "<td bgcolor=#ffffff>10</td>";
 print "<td bgcolor=#ffffff>11</td>";
 print "<td bgcolor=#ffffff>12</td>";
 print "<td bgcolor=#ffffff>13</td>";
 print "<td bgcolor=#ffffff>14</td>";
 print "<td bgcolor=#ffffff>15</td>";
 print "<td bgcolor=#ffffff>16</td>";
print "</tr>";

print "<tr>";
while (!feof($fp) ) 
      {
      if ($i <16)
         {
         $line = fgets($fp,2);
         $slova[$i] =$line  ;
         print "<td bgcolor=#ffffff>$line</td>";
         $i=$i+1;
         }
      else
         {
         print "</tr>";
         print  " <tr><td bgcolor=#ffffff colspan=16>brojac reda ".   $k   .  "</td></tr>" ;

         $k=$k+1  ;
         $b0 =$slova[0] ;
         $b1 =$slova[1] ;
         $b2 =$slova[2] ;
         $b3 =$slova[3] ;
         $b4 =$slova[4] ;
         $b5 =$slova[5] ;
         $b6 =$slova[6] ;
         $b7 =$slova[7] ;
         $b8 =$slova[8] ;
         $b9 =$slova[9] ;
         $b10 =$slova[10] ;
         $b11 =$slova[11] ;
         $b12 =$slova[12] ;
         $b13 =$slova[13] ;
         $b14 =$slova[14] ;
         $b15 =$slova[15] ;
 
 
         $rez      = mysql_query(" insert into tabela1 values (null,'" . $k . "','" . $b0 . "','" . $b1 . "','" . $b2  . "','" . $b3 . "','" . $b4. "','" . $b5 . "','" . $b6 . "','" . $b7 . "','" . $b8 . "','" . $b9 . "','" . $b10 . "','" . $b11 . "','" .$b12 . "','" . $b13 . "','" . $b14 . "','" . $b15 . "')") or die(mysql_error());


         $i=0 ;
         print "<tr>";
         }
      }

print "</table>";

fclose($fp);

?>


Prikačeni fajlovi
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: txt datoteka ne ide u MySQL01.05.2011. u 16:46 - pre 157 meseci
da li ti pukne insert ijednom? tj da li dobijes neku gresku ili prosto prestane da radi?

ako samo prestane da radi to vrlo verovatno zato sto ti rsne php, ako ti ovaj skript zoves preko url-a php ini ima koliko skript moze max da uzme memorije (to ovde nije problem) i koliko max dugo moze da traje (to je problem ako je fajl koji ucitavas poduzi).

ne bih sad ja da ti debagiram php (ovo je mysql deo foruma, tvoj problem ima veze iskljucivo sa php-om) ali posle ovih printova uradi flush() ili ob_flush() (ili oba u krajnjoj liniji) kako bi izbegao output buffering i dobio u browseru "sta si do sada uradio" posto ce php buferovati output (ako je tako, a verovatno jeste, podeseno na web serveru) a onda kada rsne neces videt nista..

taj problem sa dugim php-om se resava na nekoliko nacina, no - pogledaj na php forumu :D http://www.elitesecurity.org/f12-PHP

takodje pogledaj odlican dump importer koji zaobilazi sve te probleme prilicno jednostavno: http://www.ozerov.de/bigdump.php


 
Odgovor na temu

Micy89
Cacak

Član broj: 213365
Poruke: 10
79.101.44.*



Profil

icon Re: txt datoteka ne ide u MySQL02.05.2011. u 09:01 - pre 157 meseci
Meni se problem javlja u MySQL-u kod upisa nekih karaktera. Kada te karaktere zamenim u editoru, program prodje inace javlja mi gresku
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '¼ ','  ',' [ ',' Á ',' – ',' c ',' È ','Ÿ ',' n ',' Ç ',' ')' at line 1
 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: txt datoteka ne ide u MySQL02.05.2011. u 11:33 - pre 157 meseci
Pokušaj da pre upisa definišeš charset, npr.
Code:
mysql_query('SET NAMES utf8');

Ili pokušaj sa nekim drugim charsetom npr
Code:
mysql_query('SET NAMES latin1');


Pre upisa u bazu sting propusti kroz funkciju mysql_real_escape_string(), pokušaj i zajedno sa funkcijom sa ovog linka:
http://www.php.net/manual/en/function.utf8-encode.php#99982
ili funkcijom iznad ove sa linka
Banned - Not available
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: txt datoteka ne ide u MySQL02.05.2011. u 12:59 - pre 157 meseci
kao sto rekoh, ovo nema nikakve veze sa mysql-om .. ne valja ti php ...

Code:

" insert into tabela1 values (null,'" . $k . "','" . $b0 . "','" . $b1 .


ovo ne moze da radi ako $k, $b0, $b1 nisu "pripremljeni" .. (spomenuti mysql_real_escape_string je jedan od nacina da ih "pripremis") .. dalje, ako ucukavas osmobitne karaktere - koji ti je enkoding, zasto ga ne setujes, da li ga pravilno citas iz fajla, da li ti je fajl pravilno formatiran ... etc etc etc ... sve to nikakve veze sa mysql-om nema vec sa php-om..

dalje, sta je u fajlu? ako je u fajlu utf8 onda ce neki dz karakter biti 3 bajta .. da li ce tvoje $slova[10] vratiti 3 bajta ili samo jedan od ta tri bajta .. to zavisi od php-a ... ako vrati 3 bajta koja pravilno formiraju utf8 karakter moras mysql-u da kazes da my saljes utf8 karakter, ako si dobio samo jedan bajt od tri - da li je to ono sto si hteo?

dakle, izdebagiraj taj php ... umesto mysql_query stavi jedan ECHO .. pozovi skript iz shell-a sa php nekiskript.php > fajl.bin i onda gledaj iz hex editora sta tacno dobijas u kojoj varijabli kako pravis query etc ... ili jos bolje ako imas zend studio ili neki drugi php debugger prodji liniju po liniju i gledaj sta se desava .. malo je mnogo da ocekujes da to neko za tebe odradi na mysql forumu posto, kao sto spomenuh par puta, ovo nema veze sa mysql-om
 
Odgovor na temu

Micy89
Cacak

Član broj: 213365
Poruke: 10
79.101.44.*



Profil

icon Re: txt datoteka ne ide u MySQL02.05.2011. u 13:03 - pre 157 meseci
Hvala na pomoci, resila sam problem sa funkcijom mysql_real_escape_string(). Sada je prenelo celu datoteku u MySQL tabelu.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: txt datoteka ne ide u MySQL02.05.2011. u 15:38 - pre 157 meseci
lepo... proveri samo da li se u bazi nalazi "tacno to sto ocekujes" .. zgodna funkcija je HEX() .. tako da uradis SELECT HEX(kolona); pa dobijes tacno bajtove koji su upisani a ne "interpretaciju bajtova od strane tvog klijenta" .. tako da mozes da budes sigurna da nemas smece u bazi
 
Odgovor na temu

Micy89
Cacak

Član broj: 213365
Poruke: 10
79.101.44.*



Profil

icon Re: txt datoteka ne ide u MySQL02.05.2011. u 17:27 - pre 157 meseci
Tacno tako, ja sam pogresila. Sad upisuje u MySQL, ne prijavljuje gresku ali radi netacno, upravo iz razloga koji ste Vi rekli.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: txt datoteka ne ide u MySQL02.05.2011. u 18:06 - pre 157 meseci
uh, vi pa jos velikim slovom ... nemam ja godina za persiranje :)

elem, iscitaj taj post o "smecu u bazi" ... 99% problema se resava tako sto i pri pisanju i pri citanju setujes konekciju pravilno (na latin1 ili na utf8 uglavnom) sa set names ... a obrati paznju i da tabela ima validan character set .. php nije bas zgodan po tom pitanju .. i ovaj deo sa citanjem iz fajla je nezgodan, da li ce i kada ce php provaliti da je u fajlu "ovaj ili onaj" format teksta .. pa probaj da skontas kako "php vidi taj fajl" i onda to iskonvertuj sa iconv u "ono sto hoces da vidi" .. obrati paznju da takodje razlicito konfigurisan php moze razlicito da se ponasa (zamena single byte sa multibyte funkcijama etc) .. ne secam se (nisam kucno liniju php-a ima 3 godine) da li bese fopen skonta da je fajl utf8 ako ima onaj utf8 header (boom) ili ne .. spomenuh da bi mnogo vise korisnih informacija dobila tamo na dedicated php forumu, tamo su ljudi koji cukaju php svaki dan i svaki dan se susrecu sa slicnim problemom ..
 
Odgovor na temu

[es] :: MySQL :: txt datoteka ne ide u MySQL

[ Pregleda: 2286 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.