MarcinKostrzewa2
27.05.2011, 16:28:06
Mam poniższe zapytanie do bazy:
if (isset($_POST['nazwa_firmy'])) { $nazwa_firmy = $_POST['nazwa_firmy'];
$zmien_status6 = "UPDATE baza_firm SET status='9' WHERE nazwa='$nazwa_firmy'";
}
jednak jeśli pojawi się znak & w $nazwa_firmy to zapytanie nie dochodzi do skutku. Jak to rozwiązać? Co dopisać?
matino
27.05.2011, 16:46:02
MarcinKostrzewa2
27.05.2011, 17:00:38
matino niestety tak też nie daje rady
melkorm
27.05.2011, 17:03:28
Zastosuj się do tematu który podałem.
MarcinKostrzewa2
27.05.2011, 17:11:55
melkorm szukałem w manualu znalazłem mysql_real_escape_string próbowałem różnie i nie daje rady, w google też nie znalazłem pomocy więc pisze tutaj. Nie wiem gdzie widzisz błąd w zadanym przeze Mnie pytaniu Poza tym część manuala PHP napisana jest po angielsku a ja rosyjskiego się uczyłem:/
matino
27.05.2011, 17:14:27
Skoro zapytanie nie dochodzi do skutku, to pewnie jest jakiś błąd. Pokaż nam ten błąd. A temat wskazany wyżej pokazuje jak to zrobić
melkorm
27.05.2011, 17:15:33
$sql = 'jakieś zapytanie';
Widzisz różnicę w zadanym pytaniu? Skąd mamy wiedzieć co jest ŹLE skoro nawet nie potrafisz sformułować błędu, który można uzyskać dzięki takiemu zapisowi chociażby, wróżkami nie jesteśmy
MarcinKostrzewa2
27.05.2011, 17:17:57
Nie wyświelta się żaden błąd
if (isset($_POST['nazwa_firmy'])) { $nazwa_firmy = $_POST['nazwa_firmy'];
$zmien_status6 = "UPDATE baza_firm SET status='9' WHERE nazwa='$nazwa_firmy'";
echo 'ZAPYTANIE:'.$zmien_status6 ; }
gdyby był błąd to bym sobie poradził
na rekordach gdzie nie ma znaku & status zmienia się bez problemu.
melkorm
27.05.2011, 17:24:43
no to zrób
I zobacz czy się różni od tej w bazie, w dodatku od takich rzeczy masz
primaryKey przeciez.
tehaha
27.05.2011, 17:27:55
to może cofnijmy się do samej logiki - dlaczego chcesz rozróżniać rekordy w bazie przy pomocy kolumny nazwa?, powinno być raczej poprzez kolumnę ID, która jest kluczem podstawowym
A co do Twojego kodu, skoro zapytanie działa, to najwyraźniej nie ma takiego rekordu w bazie, możesz go pobrać i porównać hasze nazwy z bazy i wpisanej aby sprawdzić czy faktycznie wszystkie znaki są identyczne (bo może być tylko wizualnie taki sam)
MarcinKostrzewa2
27.05.2011, 17:53:03
Z ID też mam cały czas na uwadze to rozwiązanie ale baza jest obszerna prawie 400k rekordów i nie chce wprowadzać kolejnych danych by nie powiększać rozmiaru bazy. Odnośnie tego czy taki rekord istnieje to na 100% tak i jest taki sam, ponieważ tak jak wspomniałem dla wszystkich rekordów oprócz tych zawierających & wszystko działa.
Ogólnie chyba prościej bęzie dla każdego rekordu dodać indywidualne ID
celbarowicz
27.05.2011, 19:04:07
Ciekawe czy ma to związek z->post:peter13135 25.05.2011