Evo recimo da imaš ovakvu tabelu:
Code:
CREATE TABLE objekat (
id int(10) NOT NULL auto_increment,
ime varchar(20) NOT NULL default '',
src longblob NOT NULL,
filename varchar(50) NOT NULL default '',
filesize varchar(50) NOT NULL default '',
filetype varchar(50) NOT NULL default '',
PRIMARY KEY (id),
UNIQUE KEY id (id)
);
Na prvoj strani npr. index.php imaš formu sa:
1.text polje u koji unosiš ime ($ime)
2.file polje u koje ubaciš putanju do slike sa tvog harda ($src)
3.submit dugme ka fajlu npr. unos.php
unos.php
Code:
<?
include ("connect.php");
if ($src!='')
{
$data = addslashes(fread(fopen($src, "r"), filesize($src)));
}
mysql_query ("INSERT INTO objekat (ime, src, filename, filesize, filetype)
VALUES ('$ime', '$data', '$src_name', '$src_size', '$src_type')");
?>
Zapis se korektno unese u bazu i može da se pročita iz nje. Sve radi ok...
Ali ako hoću da umesto te slike stavim neku drugu, to ne radi nego javlja one greške...
Evo, ako hoću da uradim ovo (imam sve varijable ($src, $ime, $slika=='promeni'):
Code:
if ($src!='' && $slika=='promeni')
{
$data = addslashes(fread(fopen($src, "r"), filesize($src)));
$promeni = "UPDATE objekat SET ime='$ime',src='$data', filename='$src_name', filesize='$src_size', filetype='$src_type' WHERE id='$id'";
mysql_query($promeni);
NE RADI!
A kući mi sve radi ok...
Ako ne koristim addslashes tj. $data = fread(fopen($src, "r"), filesize($src));
dešava se ista stvar...