Autor Zpráva
ondrej16556
Profil
Nefunguje mi vypísanie dát z databáze
Ukáže sa mi chyba:Query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '["username"])' at line 1

Kód súboru citat.php
<? //súbor na odosielanie dát na prečítanie správy ?>
<?php session_start() ?>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=Windows-1250">
<link rel="stylesheet" type="text/css" href="../styly.css">
<link rel="stylesheet" type="text/css" href="../active.css">
</head>
<body bgcolor="#980000">
<?php if(isset($_SESSION['vstup'])): { ?>
<head>
<title>Storočná vojna > Dedina > Úvod</title>
</head>
<table align="center" bgcolor="#FF0000" width="900px">
<tr bgcolor="#FF0000">
<img src="../logo.jpg" width="900px" height="200px">
</tr>
<tr bgcolor="#FF0000">
<?php include ("../title.php") ?>
</tr>
<tr bgcolor="#FF0000" align="center">
<?php include ("menu.php") ?>
</tr>
<tr bgcolor="#FF0000" align="center">
<?php include ("hracmenu.php") ?>
</tr>
<tr bgcolor="#FF0000">
<form method='post' action='precitat.php'><div class="text">
ID: <input type='text' name='id' /><br />
<input type='submit' value='Odoslať' /></div>
</tr>
</table>
<? } else: { ?>
<head>
<title>Storočná vojna > NEPLATNÉ SESSION</title>
</head>
<table align="center" bgcolor="#FF0000" width="900px">
<tr bgcolor="#FF0000">
<img src="../logo.jpg" width="900px" height="200px">
</tr>
<tr bgcolor="#FF0000">
<?php include ("../title.php") ?>
</tr>
<tr bgcolor="#FF0000">
<?php include ("session.php"); ?>
</tr>
<tr bgcolor="#FF0000">
<div class="text">Pre hranie hry musíš byť prihlásený</div>
</tr>
</table>
<? } endif; ?>
</html>


Kód súboru precitat.php
 <? //súbor na spracovanie dát z formulára
//malo by to vypísať správu s určitým id a overiť že či ju poslal hráč, ktorý ju chce čítať ?>
<?php session_start() ?>
<html>
<head>
<title>Storočná vojna > Registrácia</title>
</head>
<body bgcolor="#980000">
<table align="center" bgcolor="#FF0000" width="900px">
<tr bgcolor="#FF0000">
<img src="../logo.jpg" width="900px" height="200px">
</tr>
<tr bgcolor="#FF0000">
<?php include ("../title.php"); ?>
</tr>
<tr bgcolor="#FF0000" align="center">
<?php include ("menu.php"); ?>
</tr>
<tr bgcolor="#FF0000" align="center">
<?php include ("hracmenu.php"); ?>
</tr>
<tr bgcolor="#FF0000">
<?php

// Connecting, selecting database

$link = mysql_connect('localhost', 'root', 'xxx')

    or die('Could not connect: ' . mysql_error());

echo '<div class="text"><a href="citat.php" target="sprava" class="odkazy">Čítať správu</a></div>';

mysql_select_db('uzivatel') or die('Could not select database');



// Performing SQL query
$id = $_POST['id'];
$query = 'SELECT id, od, predmet, text FROM spravy WHERE($id,$_SESSION["username"])';

$result = mysql_query($query) or die('Query failed: ' . mysql_error());



// Printing results in HTML

echo "<table border='1' align='center' bgcolor='#FF0000' width='900px'><tr bgcolor='#FF0000'><td bgcolor='#FF0000'>ID:</td>
<td bgcolor='#FF0000'>Odosielateľ:</td><td bgcolor='#FF0000'>Predmet:</td>\n";

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {

    echo "\t<tr bgcolor='#FF0000'>\n";

    foreach ($line as $col_value) {

        echo "\t\t<td bgcolor='#FF0000'>$col_value</td>\n";

    }

    echo "\t</tr>\n";

}

echo "</table>\n";



// Free resultset

mysql_free_result($result);



// Closing connection

mysql_close($link);

?> 
</tr>
</table>
<div align="center" style="color:#888; font-size:12px;">Copyright © <a href="index.html" class="odkaz">rannystredovek.euweb.cz</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Optimalizované pre IE 1440x900</div>
</html>


Poradili by ste mi prosím, kde mám chybu?
panther
Profil
ondrej16556:
máš chybu v dotazu. Správně má být:
$query = 'SELECT id, od, predmet, text FROM spravy WHERE id = $id and od = $_SESSION["username"])';
SwimX
Profil
panther:
aj ty tam máš chybku, a to že v apostrofech se nedoplní hodnoty proměnných do řetězce.

ondrej16556:
Má to být:
$query = "SELECT id, od, predmet, text FROM spravy WHERE id = $id and od = '{$_SESSION["username"]}'";
nebo
$query = 'SELECT id, od, predmet, text FROM spravy WHERE id = '.$id.' and od = "'.$_SESSION["username"].'"';
ondrej16556
Profil
Ďakujem, už mi to ide.
ondrej16556
Profil
A ešte mám jednu otázku.
Ako spraviť aby sa hľadalo iba z jednej bunky
Skúšal som to tak:
$query = 'SELECT id, od, predmet FROM spravy WHERE od = '{$_SESSION["username"]}'"';

ale vypísalo mi: Parse error: syntax error, unexpected '{' in /home/users/adminstr/stredovek.comehere.cz/web/Dedina/spravy.php on line 43
ondrej16556
Profil
Už som na to prišiel :)
Toto téma je uzamčeno. Odpověď nelze zaslat.