UPDATE nie działa chociaż nie ma błędu

Forum przeznaczone dla MySql - bazy danych.
matys777
Bywalec
Bywalec
Posty: 33
Dołączył(a): piątek, 10 lutego 2012, 22:35
Contact:

UPDATE nie działa chociaż nie ma błędu

Post przez matys777 »

Mam problem. Komenda Update nie działa chociaż nie pokazuje błędu. tutaj kod:

index.php

Code: Zaznacz cały

<html>
<title>Cwiczenia z baza danych dla infotechu</title>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body bgcolor="#DDDDDD" text="#000000">
<font face="tahoma" size="2">

<?php
@$db = mysql_pconnect("localhost", "root", "");
if (!db)
{
    echo "blad polaczenia z baza";
    exit;
}
else echo "polaczenie zostalo nawiazane poprawnie<br />";
mysql_set_charset("utf8");
if (!mysql_select_db("biblioteka"))
{
    echo "nie ma bazy danych tworzę nową bazę: biblioteka<br />";
    $baza = mysql_query("CREATE DATABASE biblioteka;");
}

$wyborbazy = mysql_select_db("biblioteka");

$tworzenie_tabeli = mysql_query("
        CREATE TABLE tabelabiblioteka
        (id INT unsigned AUTO_INCREMENT,
        nazwa VARCHAR(50) NOT NULL,
        autor VARCHAR(50) NOT NULL,
        wydawnictwo VARCHAR(50) NOT NULL,
        rok_wyd SMALLINT NOT NULL,
        oprawa BIT NOT NULL,
        akt_stan BIT NOT NULL,
        data_dodania_ksiazki TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        PRIMARY KEY (id)
        )") ;

$query = "SELECT * from tabelabiblioteka";
$result = mysql_query($query) or die(mysql_error());


mysql_query($query) or die(mysql_error());

echo
"<table bgcolor=#EEEEEE border=1><tr>
<th>LP</th>
<th>ID</th>
<th>Nazwa</th>
<th>Autor</th>
<th>Wydawnictwo</th>
<th>Rok wyd.</th>
<th>Oprawa</th>
<th>Dostepność</th>
<th>OPCJE</th>
</tr>";


for ($i = 0; $i < mysql_num_rows($result); $i++)
{
    $row = mysql_fetch_assoc($result);
    if ($row['oprawa'] == 1)
    $row['oprawa'] = "twarda";
    else $row['oprawa'] = "miękka";

    if ($row['akt_stan'] ==1)
    $row['akt_stan'] = "dostępna";
    else $row['akt_stan'] = "niedostępna";
    $usun_id = $row['id'];
    $edit_id = $row['id'];

    echo "<tr align=center><td>".($i+1)."</td>";
    echo "<td>".$row['id']."</td>";
    echo "<td>".$row['nazwa']."</td>";
    echo "<td>".$row['autor']."</td>";
    echo "<td>".$row['wydawnictwo']."</td>";
    echo "<td>".$row['rok_wyd']."</td>";
    echo "<td>".$row['oprawa']."</td>";
    echo "<td>".$row['akt_stan']."</td>";
    echo "<td><a href='edit.php?id=$edit_id'>edit</a> | <a href='usun.php?id=$usun_id'>usuń</a></td></tr>";
}


echo "</table>";
echo "<br><br>
<input type='button' value='Odswiez' onClick='parent.location.href=\"index.php\"'>
<form action='dodaj.php' method=post>
<input type='submit' value='Dodaj ksiazke' method='post'></form>
<br><br>";

mysql_close($db);
?>
</html>

edit.php

Code: Zaznacz cały

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>

<?php
@$db = mysql_pconnect("localhost", "root", "");
if (!db)
{
    echo "blad polaczenia z baza";
    exit;
}
else echo "polaczenie zostalo nawiazane poprawnie<br />";
mysql_set_charset("utf8");
$wyborbazy = mysql_select_db("biblioteka");
$edit_id = $_GET['id'];
$query = "SELECT * from tabelabiblioteka WHERE id='$edit_id'";
$result = mysql_query($query) or die(mysql_error());
mysql_query($query) or die(mysql_error());

echo "<table bgcolor=#EEEEEE border=1><tr>
<th>Nazwa</th>
<th>Autor</th>
<th>Wydawnictwo</th>
<th>Rok wyd.</th>
<th>Oprawa</th>
<th>Dostepność</th>
</tr>";

for ($i = 0; $i < mysql_num_rows($result); $i++)
{$row = mysql_fetch_assoc($result);
    if ($row['oprawa'] == 1)
    $row['oprawa'] = "twarda";
    else $row['oprawa'] = "miękka";

    if ($row['akt_stan'] ==1)
    $row['akt_stan'] = "dostępna";
    else $row['akt_stan'] = "niedostępna";
    $usun_id = $row['id'];
    $edit_id = $row['id'];

    echo "<tr align=center>";
    echo "<td>".$row['nazwa']."</td>";
    echo "<td>".$row['autor']."</td>";
    echo "<td>".$row['wydawnictwo']."</td>";
    echo "<td>".$row['rok_wyd']."</td>";
    echo "<td>".$row['oprawa']."</td>";
    echo "<td>".$row['akt_stan']."</td>";
}
$id = $row['id'];


echo "<form method='post' action='edit.sprawdzenie.php?id=$id'>";
mysql_close($db);
?>
    <tr>
<td><input type='text' name='nazwa' size='30' maxlength='40'/></td>
<td><input type='text' name='autor' size='30' maxlength='40'/></td>
<td><input type='text' name='wydawnictwo' size='30' maxlength='40'/></td>
<td><input type='text' name='rok_wyd' size='5' maxlength='4'/></td>
<td><input type='radio' name='oprawa' value=1/>twarda
<input type='radio' name='oprawa' value=0/>miękka</td>
<td><input type='radio' name='akt_stan' value=1/>dostępna
<input type='radio' name='akt_stan' value=0/>niedostępna</td>
</tr>
<tr><td><input type='submit' name='Dodaj'></form></td><tr/></table>

</html>
edit.sprawdzenie.php?id=$id

Code: Zaznacz cały

<?php
@$db = mysql_pconnect("localhost", "root", "");
if (!db)
{
    echo "blad polaczenia z baza";
    exit;
}
else echo "polaczenie zostalo nawiazane poprawnie<br />";
mysql_set_charset("utf8");
$wyborbazy = mysql_select_db("biblioteka");

$id = filter_var($_GET['id'], FILTER_SANITIZE_STRING);
$nazwa = filter_var($_POST['nazwa'], FILTER_SANITIZE_STRING);
$autor = filter_var($_POST['autor'], FILTER_SANITIZE_STRING);
$wydawnictwo = filter_var($_POST['wydawnictwo'], FILTER_SANITIZE_STRING);
$rok_wyd = filter_var($_POST['rok_wyd'], FILTER_SANITIZE_STRING);
$oprawa = filter_var($_POST['oprawa'], FILTER_SANITIZE_NUMBER_INT);
$akt_stan = filter_var($_POST['akt_stan'], FILTER_SANITIZE_NUMBER_INT);

echo $id;
echo $nazwa;
echo $autor;
echo $wydawnictwo;
echo $oprawa;
echo $akt_stan;

$query = "UPDATE tabelabiblioteka SET
    nazwa = '$nazwa',
    autor = '$autor',
    wydawnictwo = '$wydawnictwo',
    rok_wyd = '$rok_wyd',
    oprawa = '$oprawa',
    akt_stan = '$akt_stan'
    WHERE 'id'= $id
    ";
$result = mysql_query($query) or die(mysql_error());

if ($result) echo "dodano wpis";
else echo "blad";

mysql_close($db);
?>
nie wiem czy dobrze przekazuję zmienną GET z edit.php do edit.sprawdzenie.php . Proszę o odpowiedź
matys777
Bywalec
Bywalec
Posty: 33
Dołączył(a): piątek, 10 lutego 2012, 22:35
Contact:

Re: UPDATE nie działa chociaż nie ma błędu

Post przez matys777 »

...
Last edited by matys777 on czwartek, 23 lipca 2015, 14:21, edited 1 time in total.
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: UPDATE nie działa chociaż nie ma błędu

Post przez Morfidon »

Na pierwszy rzut oka nie pasuje mi to:

Code: Zaznacz cały

WHERE 'id'= $id
'' powinien być po prawej stronie.
matys777
Bywalec
Bywalec
Posty: 33
Dołączył(a): piątek, 10 lutego 2012, 22:35
Contact:

Re: UPDATE nie działa chociaż nie ma błędu

Post przez matys777 »

Działa!
Post Reply