Radosław.Zajączkowski Napisano Kwiecień 7, 2017 Zgłoś Napisano Kwiecień 7, 2017 Witam , niedawno zacząłem tworzyć stronę internetową która ma działać na zasadzie E-dziennika . Mam problem polegający na tym , że nie próbowałem podłączyć listę wybieraną do bazy danych żeby nauczyciel po zalogowaniu się wybrał czy jest wychowawcą (opcja tak/nie) niestety w bazie danych dane nie zmieniają się . Oto co udało mi się zrobić . Prosiłbym o pomoc . <?php session_start(); require_once "connect.php"; $polaczenie = @new mysqli($host,$db_user,$db_password,$db_name); if($polaczenie->connect_error!=0) { echo"error:".$polaczenie->connect_error; } if(isset ($_GET['wychowawca'])) { $odp=$_GET['wychowawca']; $ins=mysql_query("INSERT INTO 'nauczyciele'(wychowawca) values ('$odp')"); if($ins) { echo "<br>".$opd."wsadzono"; } } ?> Cytuj
Colorful CMS Napisano Niedziela o 09:34 Zgłoś Napisano Niedziela o 09:34 Cześć! W kodzie widzę kilka rzeczy, przez które zapis nie działa. Łączysz się przez mysqli, ale zapytanie wykonujesz funkcją mysql_query(), która została usunięta w PHP 7, więc użyj $polaczenie->query() albo lepiej prepared statements. Nazwa tabeli w INSERT jest w apostrofach 'nauczyciele', a powinna być bez nich albo w backtickach. W echo masz literówkę $opd zamiast $odp. Dane z listy wysyłasz przez GET i wstawiasz bezpośrednio do SQL, co jest podatne na SQL injection, przejdź na POST i bind_param. Ponadto INSERT tworzy nowy rekord, a skoro chcesz zmienić wartość istniejącego nauczyciela, potrzebujesz UPDATE ... WHERE id = ? (id z sesji po zalogowaniu). Cytuj
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.