Ahoj všetci :)
mam dva subory, ktore by mali zvladat upload dat do databaze ale jaksi mi to nefrci a neviem v com je problem. Vsetko skusam doma na localhoste (Apache 1.3 / php 4.1.0)
tu je prvy subor, obsahuje uploadovaci formular..
-----upload.html-----
<head>
<title>Upload dat do db</title></head>
<body>
<form action="upload_eng.php" enctype="multipart/form-data" method="post">
<input type="file" name="binFile"><br>
<input type="submit" name="upload">
</form></body>
druhy subor obstarava samotny mechanizmus zapisu dat...
-----upload_eng.php--------
<?php
require("common.php"); // obsahuje pomocne funkcie, aj pripojenie na db
db_conn("sen");
$data = fopen($_FILES["binFile"]["tmp_name"], "r");
if(!$data){echo("chyba - fopen");} else {echo("ok - fopen");}
$content = fread($data,$_FILES["binFile"]["size"]);
if($content){echo("<br>ok - fread");} else {echo("<br>chyba - fread");}
$content = addslashes($content);
$sql_1 = "INSERT INTO galeria (foto_type,foto) VALUES ('". $_FILES["binFile"]["type"] ."','". $content ."')";
$result_1 = mysql_query($sql_1);
if($result_1){echo("<br>okej - result_1");} else {echo("<br>chyba - result_1");}
?>
mysql tabulka galeria vyzera takto
id int primary key auto_increment,
foto_type varchar(50),
foto lonblob
skript vyhadzuje takuto chybu
ok - fopen
ok - fread
chyba - result_1
neviete kde by mohla byt chyba?
normalny upload mi ide bez problemov...
dakujem Boris
Pokud má tabulka "galeria" tři položky:
id int primary key auto_increment,
foto_type varchar(50),
foto lonblob
, tak bych trochu upravil tento řádek:
$sql_1 = "INSERT INTO galeria (foto_type,foto) VALUES ('". $_FILES["binFile"]["type"] ."','". $content ."')";
na:
$sql_1 = "INSERT INTO galeria VALUES ('','". $_FILES["binFile"]["type"] ."','". $content ."')";
... nebo ještě:
$sql_1 = "INSERT INTO galeria VALUES ('','". $_FILES["binFile"]["type"] ."',' $content')";
Ahoj,
výsledok je úplne rovnaký ten $result_1 vyhadzuje chybu do databázy sa nič nezapíše..
Zkus použít známou fci mysql_error() za ten SQL dotaz
Ahoj
ďakujem za radu, ta funkcia ma mohla napadnúť. No nič, ide o chybu s číslom 1064 a vypisuje že:
You have an error in your SQL syntax near ''text/css',' body { background-color : #FFFFFF; color : #000000; font-family ' at line 1
ale ani tak neviem že čo tomu chýba, sú tam njake divne uvodzovky ale v nezda sa mi že by v syntaxi bola chyba..
no jestli jsou nekde v textu apostrofy, tak to asi bude problém. -> vymenit apostrofy za \' nebo escape() nebo tak neco...
ved tam je riadok :
$content = addslashes($content);