- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problemi con PHP
-
Problemi con PHP
ciao a tutti sono nuova nel mondo php, devo svolgere un progetto... ed ho un problema scrivendo il codice e facendo il debug m esce questo errore...
Parse error: syntax error, unexpected T_STRING in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\frame\reparti.php on line 33
PHP Parse error: syntax error, unexpected T_STRING in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\frame\reparti.php on line 33nn riesco a capire che cosa significa, in ogni caso ora incollo qui il codice, spero che qualcuno passa aiutarmi!
[PHP] <?php
require_once 'MDB2.php';if (isset($_POST["reparti"]))
{
$reparti = $_POST["reparti"];
{
echo "Non hai scelto il reparto";
}
}
else{
if (!isset($liv)) {
$home = 'home.php';
}
else {
if ($_COOKIE["liv"] == 2 ) {
$home = 'home_m.php';
}
if ($_COOKIE["liv"] == 3) {
$home = 'home_p.php';
}
}$dsn= 'pgsql://postgres:xxx@localhost/xxxxx';
$mdb2 = MDB2::connect($dsn);if (PEAR::isError($mdb2))
{die($mdb2->getMessage());
}$query = ( " select "Nome_R", "Nome_P", "NPiano", "Segreteria", "LettiUomo", "LettiDonna", "Nome", "Cognome"
from "Reparto" natural join "MCompito" join "Personale" ON "MCompito"."IdP" = "Personale"."IdP"
where "Data_F" IS NULL AND "Ruolo" = 'Primario' AND "Nome_R" = ' '") ;echo $query
$output = $mdb2->query('$query');echo "<html>
<head><title>Reparti - Informazioni</title></head>
<body><table width=100%>
<tr valign="top" align="left">
<td><a href="$home"><img src="home_img.gif"></a><hr size="1" noshade width=100%>
</td>
</tr>
</table>";$res =$mdb2->query($query);
if (PEAR::isError($res))
{die($res->getMessage());}echo "<table border="1 px" color="000000" align="center">
<tr bgcolor="00c347">
<td>Reparto</td>
<td>Padiglione</td>
<td>Piano</td>
<td>Telefono</td>
<td>Letti uomini</td>
<td>Letti donne</td>
<td>Primario</td>
</tr>";while ($row = $res->fetchRow()) {
echo "<tr>
<td>$row[0]</td>
<td align="center">$row[1]</td>
<td align="center">$row[2]</td>
<td>$row[3]</td>
<td align="center">$row[4]</td>
<td align="center">$row[5]</td>
<td>$row[6]</td>
</tr>";
}echo " </table>
</body>
</html>";if (PEAR::isError($res))
{die($res->getMessage());}$mdb2->disconnect();
}?>
[/PHP]la scritta colorata e dove mi segna errore...ovvero la numero 33
grazie
spero qualcuno riesca ad aiutarmi
-
per favore rispondete dandomi qualche indicazione è importante come cosa... non riesco a trovare nemmeno su internet indicazione su come risolvere errore...
grazie
-
Nell'impostare la query SQL hai abusato troppo delle virgolette.
Correggi in questo modo:[php]
$query = ("select Nome_R, Nome_P, NPiano, Segreteria, LettiUomo, LettiDonna, Nome, Cognome
from Reparto natural join MCompito join Personale ON MCompito.IdP = Personale.IdP
where Data_F IS NULL AND Ruolo = 'Primario' AND Nome_R = ''");
[/php]Se proprio devi utilizzare le virgolette, scrivile in questo modo --> "[php]
Es. $prova = "Ciao "MikykiM"";
echo $prova; //ECHO = Ciao "MikykiM"
[/php]Ciao
-
ho corretto la prima riga come hai detto tu... ma le virgolette nel mio codice ci sono
$query = ( " select "Nome_R", "Nome_P", "NPiano", "Segreteria", "LettiUomo", "LettiDonna", "Nome", "Cognome"
from "Reparto" natural join "MCompito" join "Personale" ON "MCompito"."IdP" = "Personale"."IdP"
where "Data_F" IS NULL AND "Ruolo" = 'Primario' AND "Nome_R" = ' '") ;ora le ho messe così:
$query = ( " select "Nome_R", "Nome_P", "NPiano", "Segreteria", "LettiUomo", "LettiDonna", "Nome", "Cognome"
from "Reparto" natural join "MCompito" join "Personale" ON "\MCompito"."IdP" = "Personale"."IdP"
where "Data_F" IS NULL AND "Ruolo" = 'Primario' AND "Nome_R" = ' '") ;
ma mi da comunque errore nella seconda riga...
sempre parse error... che devo fare sto impazzendo...
-
Hai di nuovo sbagliato nell'inserire le virgolette.
Questa volta l'errore è:
...join "Personale" ON "*MCompito"."IdP" = "Personale"."*IdP"...
cambialo con:
...join "Personale" ON *"*MCompito*"."IdP" = "Personale"."*IdP"...
Per evitare altri problemi usa un editor di testo grafico, come NotePad++ che permette di visualizzare le inperfezioni nel codice, e quindi correggerle subito.Ciao!
-
Mi sono accorto adesso di un altro problema, quando dichiari la variabile $query non ci devi mettere le parentesi tonde.
Tu ha fatto così:
[PHP]
$query = ("...");
[/PHP]Invece va fatto:
[PHP]
$query = "...";
[/PHP]Ciao!
-
C'è un altro errore, dopo che hai dichiarato (Linea 33)
$query = "...";
Hai messo (Linea 34)
echo $query
senza il ; finale.
Forse è lì il "syntax error"Prova!
Ciao