webForumDet fria alternativet

Kan inte connecta mysql?!

PHP

61 svar · 1 385 visningar · startad av crisse6 · sida 2 av 4

Frågan, av crisse6

Tjena grabs! Håller på att lära mig php... har nu "gjort" ett skript där mysql koppling är inblandad. Men får inte gång grabben, kör win xp home, apache 2, mysql och odbc 3.51 eller så.. får inget felmess eller nåt när jag ska se om det ens funkar å ansluta mot mysql, det blir bara blankt när jag skrivit in: <? $conn =@mysqlconnect() or die ("Ej ansluten"); print ("Ansluten"); ?>

Läs frågan i sin helhet →
Medlem sedan dec. 20002 526 inlägg
#21

hehe... nej, tanken är den att querystringen hämtar ut ett visst id säg 1 då, 1 i db'n har ju en sökväg till en fil, men den kommer inte så långt.... den vill liksom ladda ner dokumentet download.php

Medlem sedan juli 200431 inlägg
#22

Kod tack :)

Medlem sedan dec. 20002 526 inlägg
#23

Löste det hela... ;) Eller nu när detta skript gäller framförallt bilder... men verkar ha ett annat problem nu, när jag ska ladda upp själva filerna, inga felmess, men den fil man laddar upp finns inte med i "listan"... skumt? Koden har ni här:

<html>
<head>
<title>Ladda upp filer</title>
</head>
<body>
<?php

if (isset($_FILES['fildata'])) {
if (is_uploaded_file($_FILES['fildata']['tmp_name'])) {
if (empty($_POST['besk']))
$besk = "Ingen beskrivning...";
	else
$besk = $_POST['besk'];
$dbh = @mysql_connect ("localhost","root","")
	or die ("Gick inte att ansluta!");
mysql_select_db ("filer");
$filnamn = $_FILES['fildata']['name'];
$filtyp = $_FILES['fildata']['type'];
$filstorlek = $_FILES['fildata']['size'];

$fildata = addslashes(fread(fopen($_FILES['fildata']['tmp_name'],"rb"), filesize($_FILES['fildata']['tmp_name'])));

$sql = "INSERT INTO t_filer (filnamn, filtyp, filstorlek, fildata, besk)";
$sql .= " VALUES ('$filnamn','$filtyp','$filstorlek','$fildata','$besk')";
	mysql_query($sql);

$fil_id = mysql_insert_id();

echo "<h3>Filen fick ID $fil_id</h3><br>";
mysql_close();
}
}
echo "<h2>Filer i databasen</h2>\n";
$dbh = @mysql_connect("localhost","root","")
	or die ("Kunde inte ansluta mot databasen!");

mysql_select_db("filer");
$sql = "Select fid, filnamn, filtyp, filstorlek, besk FROM t_filer";
$result = mysql_query($sql);
echo "<table border=0>\n";
echo "<tr bgcolor=#EFEFEF><td>Filnamn</td><td>Filtyp</td><td>Filstorlek</td><td>Beskrivning</td><tr>\n";
while ($rad=mysql_fetch_array($result)) {
echo "<tr bgcolor=FFFFFF>\n";
echo "<td><a href=download.php?fid=$rad[1]>$rad[1]</a></td>";
echo "<td>$rad[2]</td><td>$rad[3]</td><td>$rad[4]</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
mysql_close();

?>

<h2>Ladda upp valfri fil</h2>
<form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data">
Välj fil<br>
<input type="file" name="fildata"><br>
Beskriv filen<br>
<input type="text" name="besk"><br>
<br>
<input type="submit" value="Ladda upp filjäveln!">
</form>
</body>
</html>
Medlem sedan juli 200431 inlägg
#24

Finns den med i databasen eller skrivs den bara inte ut?

Medlem sedan dec. 20002 526 inlägg
#25

Finns ej med i databasen!

Medlem sedan juli 200431 inlägg
#26
mysql_query($sql);

Ändra den till:

mysql_query($sql) or die("Någonting är knas med SQL-satsen");

Så ser du om den ens kommer dit och om den fungerar eller om dina if-satser innan "förstör".

Medlem sedan dec. 20002 526 inlägg
#27

nix. får inte nåt mess :(

Medlem sedan juli 200431 inlägg
#28

Då är det dina if-satser som avbryter innan du hinner komma till delen där den lägger till i databasen.

Medlem sedan dec. 20002 526 inlägg
#29

neeeeeeeeeeeeeeeeee, vart har jag gjort fel guys?

Medlem sedan juli 200431 inlägg
#30

Min gissning är denna raden:

if (isset($_FILES['fildata'])) {

Testa något i stil med:

if (!empty($_FILES['fildata']['name'])) {

Bara ett enkelt 'ful'-exempel.

Medlem sedan dec. 20002 526 inlägg
#31

Du, nu blir det ingen skillnad :P Usch usch.... what's goin on??? Försök igen, jätte tacksam!

Medlem sedan juli 200431 inlägg
#32
<html>
<head>
<title>Ladda upp filer</title>
</head>
<body>
<?php

if (!empty($_GET['action'])) {
if (is_uploaded_file($_FILES['fildata']['tmp_name'])) {
if (empty($_POST['besk']))
$besk = "Ingen beskrivning...";
    else
$besk = $_POST['besk'];
$dbh = @mysql_connect ("localhost","root","")
    or die ("Gick inte att ansluta!");
mysql_select_db ("filer");
$filnamn = $_FILES['fildata']['name'];
$filtyp = $_FILES['fildata']['type'];
$filstorlek = $_FILES['fildata']['size'];

$fildata = addslashes(fread(fopen($_FILES['fildata']['tmp_name'],"rb"), filesize($_FILES['fildata']['tmp_name'])));

$sql = "INSERT INTO t_filer (filnamn, filtyp, filstorlek, fildata, besk)";
$sql .= " VALUES ('$filnamn','$filtyp','$filstorlek','$fildata','$besk')";
    mysql_query($sql);

$fil_id = mysql_insert_id();

echo "<h3>Filen fick ID $fil_id</h3><br>";
mysql_close();
}
}
echo "<h2>Filer i databasen</h2>\n";
$dbh = @mysql_connect("localhost","root","")
    or die ("Kunde inte ansluta mot databasen!");

mysql_select_db("filer");
$sql = "Select fid, filnamn, filtyp, filstorlek, besk FROM t_filer";
$result = mysql_query($sql);
echo "<table border=0>\n";
echo "<tr bgcolor=#EFEFEF><td>Filnamn</td><td>Filtyp</td><td>Filstorlek</td><td>Beskrivning</td><tr>\n";
while ($rad=mysql_fetch_array($result)) {
echo "<tr bgcolor=FFFFFF>\n";
echo "<td><a href=download.php?fid=$rad[1]>$rad[1]</a></td>";
echo "<td>$rad[2]</td><td>$rad[3]</td><td>$rad[4]</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
mysql_close();

?>

<h2>Ladda upp valfri fil</h2>
<form action="?action=upload" method="post" enctype="multipart/form-data">
Välj fil<br>
<input type="file" name="fildata"><br>
Beskriv filen<br>
<input type="text" name="besk"><br>
<br>
<input type="submit" value="Ladda upp filjäveln!">
</form>
</body>
</html>
Medlem sedan juli 200431 inlägg
#33

Jag går på lunch nu, är tillbaka om ~1h
Tungt att jobba :D

Medlem sedan dec. 20002 526 inlägg
#34

Icke icke... hehe, käka du så du får nya krafter för det blev tyvärr ingen skillnad :(

Medlem sedan juli 200431 inlägg
#35

Ta bort den här if-satsen

if (is_uploaded_file($_FILES['fildata']['tmp_name']))
Medlem sedan dec. 20002 526 inlägg
#36

Hmm... fick felmess då...

Parse error: parse error, unexpected T_ELSE in C:\www\uppladdning\upload.php on line 12

med följande kod:

<?php

if (!empty($_GET['action'])) {

if (empty($_POST['besk'])) {
$besk = "Ingen beskrivning...";
    else
$besk = $_POST['besk'];
$dbh = @mysql_connect ("localhost","root","")
    or die ("Gick inte att ansluta!");
mysql_select_db ("filer");
$filnamn = $_FILES['fildata']['name'];
$filtyp = $_FILES['fildata']['type'];
$filstorlek = $_FILES['fildata']['size'];

$fildata = addslashes(fread(fopen($_FILES['fildata']['tmp_name'],"rb"), filesize($_FILES['fildata']['tmp_name'])));

$sql = "INSERT INTO t_filer (filnamn, filtyp, filstorlek, fildata, besk)";
$sql .= " VALUES ('$filnamn','$filtyp','$filstorlek','$fildata','$besk')";
    mysql_query($sql);

$fil_id = mysql_insert_id();

echo "<h3>Filen fick ID $fil_id</h3><br>";
mysql_close();
}
}
echo "<h2>Filer i databasen</h2>\n";
$dbh = @mysql_connect("localhost","root","")
    or die ("Kunde inte ansluta mot databasen!");

mysql_select_db("filer");
$sql = "Select fid, filnamn, filtyp, filstorlek, besk FROM t_filer";
$result = mysql_query($sql);
echo "<table border=0>\n";
echo "<tr bgcolor=#EFEFEF><td>Filnamn</td><td>Filtyp</td><td>Filstorlek</td><td>Beskrivning</td><tr>\n";
while ($rad=mysql_fetch_array($result)) {
echo "<tr bgcolor=FFFFFF>\n";
echo "<td><a href=download.php?fid=$rad[1]>$rad[1]</a></td>";
echo "<td>$rad[2]</td><td>$rad[3]</td><td>$rad[4]</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
mysql_close();

?>
Medlem sedan juni 20006 031 inlägg
#37

Testa med "måsvingarna" runt else.
Rad 12:
} else {

Medlem sedan juli 200431 inlägg
#38

Du måste ta bort } här:

mysql_close();
}
Medlem sedan dec. 20002 526 inlägg
#39

Okej, la till { } runt else, och tog sen bort där vid mysql_close()

får då ett felmess om rad 64; som är raden efter </html> så det där är mkt skumt... förstår inte varför jag skulle ha {} runt else???

Medlem sedan sep. 20005 700 inlägg
#40

du ska inte ha {} runt snarare }{
En if-sats skriver du vanligen som
if(uttryck)
{

}else{

}

Dvs, du måste ha måsvingar för att definiera de block som tillhör if respektive else.

259 ms totalt · 3 externa anrop · v20260731065814-full.c4b5ca48
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)