Witam, powoli rozwijam swój edytor. W tej chwili chciał zrobić sprawdzanie rekordów czy nie są już dodane. Robię to tak:
if ($akcja == "dodaj_pliki")
{
$pliki = $_POST['pliki'];
if(empty($pliki))
{
echo '';
}
$q = mysql_query("SELECT plik FROM pliki WHERE plik='$pliki'") or die(mysql_error());
$e = mysql_fetch_array($q);
if ($e[0])
{
echo '';
}
}
W bazie wygląda to tak: id plik nazwa 1 index.php index i za ciężkiego groma powyższy kod nie chce wypluć błędu jak zaznaczę jeszcze raz do dodania plik index.php a zamiast błędu wypluwa
Co do problemu z “Uknown column” to mógłbyś wrzucić tutaj dump struktury Twojej tabeli?
Czy wartość $_POST[‘pliki’] jest brana z pola typu “text” czy typu “file”, jeśli z “file” to nie możesz korzystać w tedy z tablicy $_POST tylko $_FILES?
polecam założenie indexu UNIQUE na kolumnie plik, wtedy mysql nie pozwoli dodać drugiego takiego samego rekordu rzucając stosownym błędem. Co do błędu o nieznanej kolumnie, jeśli mysql twierdzi że jej nie ma to pewnie tak jest (w linuksie duże i małe litery mają znaczenie). Sprawdź do jakiej bazy danych i tabeli się odwołujesz może podpiąłeś się do jakieś archiwalnej wersji albo coś takiego.
Zrób tak jak pisał kolega: mordesku nałóż w bazie index UNIQUE na kolumnie ‘plik’,a tak bym sprawdził:
$q = mysql_query( 'SELECT * FROM pliki WHERE plik = "'.$plik.'"');
if(mysql_num_rows($q) >0) { header('Location: index.php');//jeśli istnieje w bazie to: przekierowanie
} else {jeśli nie istnieje dodaje do bazy to:zapis