webForumDet fria alternativet

Fil till mysql, update fel

PHP

2 svar · 312 visningar · startad av Tulork

Medlem sedan aug. 2004903 inlägg
Frågan#1

vill skicka en fil till databasen..den biten fungerade med statiska värden...

vi kommer ifrån edit.php där vi väljer ett ID på den vi vill redigera, skriver in det, skickas till nästa sida med en variabel som har ID't i sig, vi sparar det id't i en lokal variabel... och nu ska vi uploada en fil till databasen där ID=ID't vi valde från förra sidan..

det är just inkörningen i databasen som inte fungerar, variablen $ID_ADD har ID't i sig, så där ligger inte felet

Så här ser uppladdnings skriptet ut

<?php
ob_start();
session_start();
// Kolla om inloggad = sessionen satt
if (!isset($_SESSION['sess_user'])){
  header("Location: index.php");
  exit;
}
if (isset($_GET['logout'])){
  session_unset();
  session_destroy();
  header("Location: index.php");
  exit;
}
?>
<?php
include "conn.php"; // Databasanslutningen

// Performing SQL query sh
$ID_ADD = $_GET['var'];

if (isset ($_GET['var'])){
$query = "SELECT * FROM $mem_table WHERE id =".$_GET['var']." ";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

// Printing results in HTML
echo "<p>Du redigerar användaren:<p>";
//echo "$_SESSION['sess_userlevel'];";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
   echo "\t<tr>\n";
   foreach ($line as $col_value) {
       echo "\t\t<td>$col_value</td>\n";
   }
   echo "\t</tr>\n";
//echo "test $sess_userlevel";
}
echo "</table>\n";

// Free resultset
mysql_free_result($result);

} //or die('fucked');

//Ladda upp
//----------------------------------------------------------
//----------------------------------------------------------
//----------------------------------------------------------
echo "<br>$ID_ADD";

if(isset($_POST['upload']))
{
        $fileName = $_FILES['userfile']['filename'];
        $tmpName  = $_FILES['userfile']['tmp_name'];
        $fileSize = $_FILES['userfile']['size'];
        $fileType = $_FILES['userfile']['type'];
        
        $fp = fopen($tmpName, 'r');
        $content = fread($fp, $fileSize);
        $content = addslashes($content);
        fclose($fp);
        
        if(!get_magic_quotes_gpc())
        {
            $fileName = addslashes($fileName);
        }
       
 	
        $query = "UPDATE $mem_table WHERE id = $ID_ADD SET (filename, size, type, content ) ".
                 "VALUES ('$fileName', '$fileSize', '$fileType', '$content')";

        mysql_query($query) or die('Gick inte att uploada');
      
        
        echo "<br>File $fileName uploaded<br>";
}        
ob_end_flush();
?>
<form action="" method="post" enctype="multipart/form-data" name="uploadform">
  <table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
    <tr> 
      <td width="246"><input type="hidden" name="MAX_FILE_SIZE" value="2000000"><input name="userfile" type="file" class="box" id="userfile">
         </td>
      <td width="80"><input name="upload" type="submit" class="box" id="upload" value="  Upload  "></td>
    </tr>
  </table>
</form>
</body>
</html>

<?php
echo "<br><a href=\"index.php?logout=\">Logga ut</a>\n<br><br>";
?>
<a href="admin.php">Tillbaka </a><br><br>

Felet ligger antagligen vid själva inkörning..vet inte riktigt hur man ska skicka in det iom att man inte kan använda WHERE om man har INSERT INTO

Medlem sedan aug. 2004903 inlägg
#2

alltså

 $query = "UPDATE $mem_table WHERE id = $ID_ADD SET (filename, size, type, content ) ".
                 "VALUES ('$fileName', '$fileSize', '$fileType', '$content')";

det är denna jag har problem med..har sökt på forumet och testat lite men hittar ingen som ska ha in värden i databasen på samma sätt som mig..., har testat lägga WHERE i slutet...

Medlem sedan aug. 2004903 inlägg
#3

Löste det själv :), tack i alla fall

Lösningen

$query = "UPDATE $mem_table SET filename='$fileName', size='$fileSize', type='$fileType'  WHERE id = $ID_ADD";
265 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)