• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Skrypt dodający rekordy do bazy

Object Storage Arubacloud
0 głosów
722 wizyt
pytanie zadane 30 grudnia 2015 w PHP przez Strzelec Nowicjusz (120 p.)

Witam serdecznie! 

Nie byłem pewny, gdzie umieścić temat - PHP, czy Bazy danych, więc z góry przepraszam. 
Napisałem stronę, która po uprzednim wprowadzeniu cyfry, zwraca nam daną liczbę słów po polsku, naszym zadaniem jest wpisanie ich po angielsku. Ostatecznie dostajemy wyniki z poprawnością odpowiedzi, liczbą procent itd. I w tym momencie pojawia się problem. Strona korzysta z bazy danych, w której mam umieszczone kilka przykładowych słów. Wszystko było dobrze, gdy wprowiłem je ręcznie, ale wprowadzenie kilku tys. słów będzie dość trudne.. Tak więc napisałem skrypt w php, który pobiera z plików tekstowych słowa po polsku, oraz po angielsku i dodaje je do bazy danych. Po takim wprowadzeniu słów <przez skrypt>, nawet, gdy odpowiedź będzie poprawna - zobaczymy, że zrobiliśmy błąd - pomimo tego, że odpowiedzi teoretycznie (pokazuje moją odpowiedź, oraz odpowiedź 'poprawną') się zgadzają. 
Sprawdzałem długość wyrazów wprowadzonych do skryptu i wychodzą dwa puste znaki na końcu.. 
Oto skrypt : 
 

$pl = file('plik.txt');
$eng = file('plik1.txt');
	

for ($i=0; $i<5; $i++)
{
	if($polaczenie->query(sprintf
("INSERT INTO proba SET polski='$pl[$i]', angielski='$eng[$i]'")))
{	
echo "udalo sie ".$i; echo "<br>";
}
else
{ 	
 echo "nie udalo sie ".$i;	echo "<br>";
}

}

Ma ktoś jakiś pomysł, dlaczego tak się dzieję ? Oto te dwa pliki, które odczytuje w tym skrypcie : 

Plik - 
Sklep z antykami
Piekarnia
Księgarnia
Butik
Sklep mięsny

Plik1 - 
Antique shop
Baker\'s
Bookshop
Boutique
Butcher\'s

 

2 odpowiedzi

0 głosów
odpowiedź 30 grudnia 2015 przez makoso Mądrala (7,380 p.)

a nie lepiej będzie Ci przygotować sobie formularz na stronie zabezpieczonej uwierzytelnianiem z polem typu textarea w nim byś wprowadzał słowa powiedzmy tak: Antique shop, Baker's, Bookshop, Boutique, Butcher's

następnie gdy odbierzesz formularz w pliku robisz

$myWords = exlode(", ",$textarea);

następnie pozostaje Ci sprawdzenie czy podane słowo jest już w bazie danych czy nie jeżeli nie to je dodajesz i nie musisz się bawić w pliki :)

0 głosów
odpowiedź 30 grudnia 2015 przez efiku Szeryf (75,160 p.)
File nie obcina Ci znaków końca linii i temu masz problemy ;)

Dwa, co to za sprintf przy zapytaniu?  W PDO prepared statements nie potrzebują takiego czegoś :>

Tak z nudów sobie naskrobałem:

https://github.com/efiku/SimpleParser

https://travis-ci.org/efiku/SimpleParser

composer require efiku/simpleparser

Podobne pytania

0 głosów
1 odpowiedź 145 wizyt
0 głosów
2 odpowiedzi 414 wizyt
pytanie zadane 30 października 2017 w PHP przez koyoo Początkujący (340 p.)
0 głosów
1 odpowiedź 446 wizyt
pytanie zadane 17 grudnia 2017 w SQL, bazy danych przez seam3 Początkujący (450 p.)

92,573 zapytań

141,423 odpowiedzi

319,647 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...