Skocz do zawartości

Recommended Posts

Napisano

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";
		
	}
	
}
?>

 

  • 9 years later...
Napisano

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).

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...