beror lite på hur din php.ini fil ser ut (har jag för mig) men du kan
$result = mysql_query("SELECT * FROM members WHERE user='$_SESSION['sess_user']'")
eller
$result = mysql_query("SELECT * FROM members WHERE user='"+$_SESSION['sess_user']+"'")
7 svar · 472 visningar · startad av AndreasC
Undrar över följande i php.
Har två rader i php:
echo $_SESSION['sess_user']."<br />";
$result = mysql_query("SELECT * FROM members WHERE user='text'")
Med första raden skriver jag ut namnet på den användare som är inloggad med sessions och i slutet av andra raden anger jag ett where-villkor för fältet user i tabellen members Här vill jag att php-koden ska hämta data från den rad i tabellen i mySQL där fältet user innehåller samma värde som värdet för den inloggade användaren.
T.ex. om jag loggar in som AndreasC, då står det AndreasC som inloggad användare. Med $result vill jag hämta information från den raden där det står AndreasC i fältet user. På raden $result, vad kan jag skriva istället för text?
beror lite på hur din php.ini fil ser ut (har jag för mig) men du kan
$result = mysql_query("SELECT * FROM members WHERE user='$_SESSION['sess_user']'")
eller
$result = mysql_query("SELECT * FROM members WHERE user='"+$_SESSION['sess_user']+"'")
Det funkade inte. Hela koden ser ut såhär.
<?php
session_start(); // Alltid överst på sidan
// Kolla om inloggad = sessionen satt
if (!isset($_SESSION['sess_user'])){
header("Location: home.php");
exit;
}
?>
<?php
// ansluter till databasen
$opendb = mysql_connect("localhost", "admin", "") or die(mysql_error());
mysql_select_db("kundbas") or die(mysql_error());
// hämtar information från den angivna tabellen
$result = mysql_query("SELECT \* FROM members WHERE user='"+$\_SESSION\['sess_user'\]+"'")
or die(mysql_error());
// hämtar resultatrader från tabellen
while($row = mysql_fetch_array( $result ))
{
// skriver ut innehållet radvis
echo $row\['name'\]."\<br /\>";
echo $row\['adress'\]."\<br /\>";
echo $row\['postnr'\]." ";
echo $row\['postadrs'\]." ";
echo "\<br /\>";
}
// stänger databasen
mysql_close($opendb);
?\>
Jag får:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\webshop\kassa.php on line 145
Rättelse: Med det första alternativet får jag Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\webshop\kassa.php on line 145, och med det andra för jag syntaxfel.
beror lite på hur din php.ini fil ser ut (har jag för mig) men du kan
$result = mysql_query("SELECT * FROM members WHERE user='{$_SESSION['sess_user']}'")eller
$result = mysql_query("SELECT * FROM members WHERE user='" . $_SESSION['sess_user'] . "'")
Formaterade om koden så att det ska fungera. I PHP använder man . för strängkonkatenering.
byt ut + med .
Nu funkar det, tack :)
Försök använda mer beskrivande rubriker nästa gång! :)
... och [php]-taggar runt kod. :)