2017-12-09 5 views
0

Ich habe ein Problem mit der Anzeige von Dateien vom angemeldeten Benutzer hinzugefügt. Ich weiß nicht, wie Sie die Variable korrekt an die SQL-Abfrage übergeben. Kann mir jemand dabei helfen?Wie verwenden Session-Variable in SQL mit PHP

Derzeit sieht der Code wie folgt aus:

<?php 
include_once 'dbconnect.php'; 
?> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>File Uploading With PHP and MySql</title> 
<link rel="stylesheet" href="style.css" type="text/css" /> 
</head> 
<body> 
<div id="header"> 
<label>File Uploading With PHP and MySql</label> 
</div> 
<div id="body"> 
<table width="80%" border="1"> 
    <tr> 
    <th colspan="4">your uploads...<label><a href="index.php">upload new files...</a></label></th> 
    </tr> 
    <tr> 
    <td>File Name</td> 
    <td>File Type</td> 
    <td>File Size(KB)</td> 
    <td>View</td> 
    </tr> 
    <?php 
$sql="SELECT * FROM files"; 
$result_set=mysql_query($sql); 
while($row=mysql_fetch_array($result_set)) 
{ 
    ?> 
     <tr> 
     <td><?php echo $row['file'] ?></td> 
     <td><?php echo $row['type'] ?></td> 
     <td><?php echo $row['size'] ?></td> 
     <td><a href="uploads/<?php echo $row['file'] ?>" target="_blank">view file</a></td> 
     </tr> 
     <?php 
} 
?> 
    </table> 

</div> 
</body> 
</html> 

Ich versuche, diesen Datensatz zu ändern:

$sql="SELECT * FROM files";

zu

$sql="SELECT file, type, size FROM files WHERE userId ='$_SESSION[userId]'";

aber ich habe noch zu tun bekomme nicht die richtige r esult. Kann jemand helfen?

+0

mysql ist veraltet, verwenden Sie stattdessen mysqli. –

+0

können Sie angeben, was Sie meinen? – martyniuk

+0

https://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php –

Antwort

1

Es scheint, dass das Problem mit dieser Zeile darin besteht, wie Sie die Variable $ _SESSION einbeziehen. Sie sollten Zitate um userId wie $_SESSION['userId'] oder {$_SESSION['userId']} haben.

Noch wichtiger sollten Sie vermeiden, Variablen direkt in MySQL-Abfragen einzugeben. Ich würde empfehlen, anstelle von MySQL MySQLi oder PDO zu verwenden und in vorbereitete Anweisungen (here oder here zum Beispiel) zu schauen.