Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Usuwanie rekordu z bazy danych
#1
Witam, wiem że postów w tym temacie jest masę ale mimo przeczytania wielu nie znalazłem sposobu na usunięcie rekordu z BD i nie znalazłem błędu w moim kodzie, tak wyglądają moje pliki .php

edit_car.php


@ $db = new mysqli( 'nazwa', 'login', 'haslo', 'nazwa bazy');

if (mysqli_connect_errno())
{
echo 'Błąd: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.<br /><br />';
exit;
}

$zapytanie = "select * from car";
$wynik = $db->query($zapytanie);

$ile_znalezionych = $wynik->num_rows;

echo '<div style="color: black; margin-left: 10px;"><p>ilość samochodów w ofercie: '.$ile_znalezionych.'</p>';

for ($i=0; $i <$ile_znalezionych; $i++)
{

$wiersz = $wynik->fetch_assoc();



echo '<tr> <td style="border: 1px solid dimgray; background-color: #CCCCCC;"> <b>'.($i+1).'</b></td>';

echo'<td style="border: 1px solid dimgray;">'.$wiersz['model'].'</td>';

echo'<td style="border: 1px solid dimgray;">'.$wiersz['przedz1'].'zł</td>';

echo'<td style="border: 1px solid dimgray;">'.$wiersz['przedz2'].'zł</td>';

echo'<td style="border: 1px solid dimgray;">'.$wiersz['przedz3'].'zł</td>';

echo'<td style="border: 1px solid dimgray;">'.$wiersz['przedz4'].'zł</td>';

echo'<td style="border: 1px solid dimgray;">'.$wiersz['debet'].'zł</td>';



echo'<td style="border: 1px solid dimgray; background-color: white; "><a href="usun.php?id_usun='.$wiersz['model'].'"><img src="grafika/delete.png" border="0"/></a></td></tr>';



}

$wynik->free();
$db->close();

odczytane rekordy ładnie wyświetla mi w systemie, problem z ich usunięciem

usun.php

@ $db = new mysqli( 'nazwa', 'login', 'haslo', 'nazwa bazy');


if (mysqli_connect_errno())
{
echo 'Błąd: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
exit;
}

if ( isset($_GET['id_usun']) ) {
$id = $_GET['id_usun'];
$query2 = "DELETE FROM `car` WHERE `model`=$id";
$result2 = mysql_query($query2);
}
echo "usunięto <br />";


$wynik->free();
$db->close();


podam może plik .sql bo może w strukturze jest problem:

create table car
(
model char(50) not null primary key,
przedz1 float(6) not null,
przedz2 float(6) not null,
przedz3 float(6) not null,
przedz4 float(6) not null,
debet float(6) not null,
plik_nazwa char(50) not null

);

Z góry dziękuje za pomoc.
#2
Może spróbuj usunąć cudzysłowy z nazwy tabeli, zamiast 'car' niech będzie car
[Obrazek: 2guxq1i.gif]
#3
(04-09-2010, 22:31)dziamber napisał(a): Może spróbuj usunąć cudzysłowy z nazwy tabeli, zamiast 'car' niech będzie car

nie jest tam 'car' lecz `car` co poprostu nic nie przeszkadza a tylko ułatwia pracę z kodem.

Ja już próbowalem pomóc via PW no ale nie moge się do patrzeć błędu. Z początku myślałem , że brakuje w miejscu
Kod PHP:
$query2 "DELETE FROM `car` WHERE `model`=$id"
popsrotu '' między $id bo podane jest w bazie ten model jako char. no ale i tak nie działa to @Shamann
#4
daj
$query2 = "DELETE FROM car WHERE `model`=$id";
lub
$query2 = "DELETE FROM 'car' WHERE `model`=$id";

obstawiam ze chodzi o to ze sotujesz ten sam typ "cudzyslowia" w nazwie tabeli i w rekordzie Tongue
#5
Jak już coś to:
Kod PHP:
$query2 "DELETE FROM `car` WHERE `model` = '$id' "
#6
(05-09-2010, 04:16)Pedro84 napisał(a): Jak już coś to:
Kod PHP:
$query2 "DELETE FROM `car` WHERE `model` = '$id' "


dalej nic nie skutkuje, może jeszcze jakieś pomysły?
#7
(05-09-2010, 03:31)Jag napisał(a): daj
$query2 = "DELETE FROM car WHERE `model`=$id";
lub
$query2 = "DELETE FROM 'car' WHERE `model`=$id";

obstawiam ze chodzi o to ze sotujesz ten sam typ "cudzyslowia" w nazwie tabeli i w rekordzie Tongue

człowieku weź schowaj się. nie znasz się na temacie to milcz. ` ` jest neutralne. tylko po to by sobie ułatwic pracę i żeby to jakoś wyglądało


a co do Pedro84 to nie ma znaczenia czy są te spacje czy nie . wieć nie nabijaj sobie postów Smile
Cytat:Wyrazić to co czuję , zabrakło by tyle słów....
#8
może problem jest po stronie sql

create table car
(
model char(50) not null primary key,
przedz1 float(6) not null,
przedz2 float(6) not null,
przedz3 float(6) not null,
przedz4 float(6) not null,
debet float(6) not null,
plik_nazwa char(50) not null

);

jest to poprawnie?
#9
(05-09-2010, 15:38)Shamann napisał(a): może problem jest po stronie sql

create table car
(
model char(50) not null primary key,
przedz1 float(6) not null,
przedz2 float(6) not null,
przedz3 float(6) not null,
przedz4 float(6) not null,
debet float(6) not null,
plik_nazwa char(50) not null

);

jest to poprawnie?



skoro phpmyadmin to przyjął to jest , jednakże u Ciebie identyfikatorem jest model i ma typ char , ja stosuje zawsze int
Kod PHP:
`modelint(11NOT NULL auto_increment

a o kod zobacz co się wyświetli bo coś musi
Kod PHP:
<?php

if ( isset($_GET['id_usun']) ) 
    {
    
$id $_GET['id_usun'];
    
$query2 "DELETE FROM `car` WHERE `model`=$id";
    
// lub $query2 = "DELETE FROM `car` WHERE `model`='$id'";
    
$result2 mysql_query($query2);
    if ( 
$result2 )
        {
        echo 
'usunieto';
        }
        else
        {
        echo 
'nie usunieto';
        }
    }
    else
    {
    echo 
'nie podano id';
    }

?>
musi się coś wyświetlić . a zobacz jeszcze jak link wygląda przykładowy . czy dobrze podaje id_usun
Cytat:Wyrazić to co czuję , zabrakło by tyle słów....
#10
(05-09-2010, 15:45)kancik napisał(a):
(05-09-2010, 15:38)Shamann napisał(a): może problem jest po stronie sql

create table car
(
model char(50) not null primary key,
przedz1 float(6) not null,
przedz2 float(6) not null,
przedz3 float(6) not null,
przedz4 float(6) not null,
debet float(6) not null,
plik_nazwa char(50) not null

);

jest to poprawnie?



skoro phpmyadmin to przyjął to jest , jednakże u Ciebie identyfikatorem jest model i ma typ char , ja stosuje zawsze int
Kod PHP:
`modelint(11NOT NULL auto_increment

a o kod zobacz co się wyświetli bo coś musi
Kod PHP:
<?php

if ( isset($_GET['id_usun']) ) 
    {
    
$id $_GET['id_usun'];
    
$query2 "DELETE FROM `car` WHERE `model`=$id";
    
// lub $query2 = "DELETE FROM `car` WHERE `model`='$id'";
    
$result2 mysql_query($query2);
    if ( 
$result2 )
        {
        echo 
'usunieto';
        }
        else
        {
        echo 
'nie usunieto';
        }
    }
    else
    {
    echo 
'nie podano id';
    }

?>
musi się coś wyświetlić . a zobacz jeszcze jak link wygląda przykładowy . czy dobrze podaje id_usun



wyświetla się nie usunięto


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  cron nie łączy się z bazą danych michalszyd 3 5,005 18-01-2018, 06:15
Ostatni post: ytprzetwornik
  Zmniejszenie czasu dostępu do bazy darling 8 8,412 06-12-2017, 18:00
Ostatni post: arki878
  Przeszukiwanie bazy, przechowywanie wyników vundo 3 4,191 02-12-2016, 20:16
Ostatni post: tereska3
  Pobieranie danych z dwóch baz danych jarekcda 2 5,193 28-11-2016, 11:55
Ostatni post: ania9
  podział danych za pomocą substr ppsqm 1 4,150 18-06-2014, 15:18
Ostatni post: Kartofelek

Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości
Sponsorzy i przyjaciele
SeoHost.pl