Newsgroup: it.comp.www.php
Titolo: [php] perchèèè

Sono finalmente riuscito ad installare php-mysql.
Creo database
Creo tabella
Vedo ciò che ci ho scritto dentro....
Insomma: tramite "shell" mi pare di fare tutto.
Provo gli script (scaricati da internet)...e mi sa tanto che uno è
sbagliato. Oppure non ho configurato bene mysql.
E' un prg per le news (kandalf o qualcosa del genere).
Un primo file si chiama **list_news.php** e funziona bene: mi elenca in
ordine di data le news
Nell'include c'è la connessione al db....
Li riporto sotto...magari qualcuno ha già provato o avuto gli stessi
errori.....
--------------------------------
<?
include ("html/top.htm");
?>
<center><B>N E W S</B></center>
<?
include ("connect.inc.php");
$connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
mysql_select_db($dbname);
$query = "SELECT * FROM $tablename ORDER BY id DESC LIMIT $limit";
$esegui = mysql_query($query, $connect);
while ($result = mysql_fetch_array($esegui)) {
 echo "$result[ora]:$result[minuto] -
$result[giorno]/$result[mese]/$result[anno]
- <b><a href=read_news.php?id=$result[id]>$result[titolo]</A><p></b>";
}
include ("html/sub.htm");
?>
--------------------------------
Il secondo file (read_news.php) DOVREBBE leggere il contenuto della news
sulla quale si clicca ma da questo errore:
--------------------------------
Warning: Supplied argument is not a valid MySQL result resource in
/var/percorso.../read_news.php on line 16
--------------------------------
Dove la linea 16 nello script originale è quella con **while**
ed è questo
--------------------------------
<?
include ("html/top.htm");
?>
<center><B>N E W S</B></center>
<?
include ("connect.inc.php");
$connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
mysql_select_db($dbname);
$query = "SELECT * FROM $tablename where id=$_GET[id]";
$esegui = mysql_query($query, $connect);
while ($result = mysql_fetch_array($esegui)) {
echo "<b>$result[titolo]</b><p>$result[contenuto]";
}
include ("html/sub.htm");
?>
--------------------------------
Vi prego datemi una manooooooooooooooo

 $query = "SELECT * FROM $tablename where id=$_GET[id]";
probabilmente:
$query = "SELECT * FROM $tablename where id=".$_GET['id'];
in ogni caso, quando qualcosa non ti funziona, oltre a mettere SEMPRE
error_reporting(E_ALL); in testa alo script,
controlla bene le faq e fai delle print dei valori.
(in questo caso era utile fare una print di $query per vedere che fosse 
effettivamente una query valida).
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.collinelli.net/antispam/

 include ("html/sub.htm");
Dopo la parentesi graffa dovrebbe esserci un punto e virgola.
Tac
-- 
Oggi
10.000 opere d'arte
Cadono
http://tacone.cjb.net

 Dopo la parentesi graffa dovrebbe esserci un punto e virgola.
concedimi di contestare la tua soluzione... l'errore è altrove e dopo la 
graffa non ci va il ;
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.gnu.org/philosophy/motivation.it.html

 
Cavalier Condorelli, è sempre un piacere :-).


 $query = "SELECT * FROM $tablename where id=".$_GET['id'];
Ho provato a seguire il tuo consiglio e mi da' lo stesso errore (alla riga
16).
In quella riga si trova questo:
------------------------------
13
14  $query = "SELECT * FROM $tablename where id=".$_GET['id'];
15  $esegui = mysql_query($query, $connect);
16  while ($result = mysql_fetch_array($esegui)) {
17  echo "<b>$result[titolo]</b><p>$result[contenuto]";
18  }
19
------------------------------
Aiutooooooooooo.....

 16).
hai seguito solo questo consiglio o anche gli altri?
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.php.net


Ho provato a mettere anche l'error reporting e quello che ottengo e questo:
----------------------------------
Warning: Undefined variable: _GET in
/var/www/html/fratini/news/read_news.php on line 13
Warning: Supplied argument is not a valid MySQL result resource in
/var/www/html/fratini/news/read_news.php on line 17
----------------------------------
Riallego lo script per comodità
----------------------------------
6  error_reporting(E_ALL);
7  include ("connect.inc.php");
...
11  $connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
12  mysql_select_db($dbname);
13  $query = "SELECT * FROM $tablename where id=".$_GET['id'];
14  $esegui = mysql_query($query, $connect);
15  #commento
16  while ($result = mysql_fetch_array($esegui)) {
17  echo "<b>$result[titolo]</b><p>$result[contenuto]";
18  }
19
----------------------------------

 /var/www/html/fratini/news/read_news.php on line 17
Questo e` conseguenza dell'altro, immagino. Se non gli dici cosa cercare
nel db ti ritorna un errore o un insieme vuoto, quindi il fetchrow non
ha niente da prendere e ti dice che l'indice non e` valido.
Bye.


Ho installato tutto dalla RedHat7.2 e dal <?phpinfo()?> vedo questo:
PHP Version 4.0.6
.....PHP 4.0 Credits....blablabla...
Eventualmente come si attivano le superglobals? (i form mi pare che siano
tutti col get)

 PHP Version 4.0.6
4.0.6: anziché usare $_GET, devi usare $HTTP_GET_VARS.
(anti faq, gli altri di solito fanno il contrario!!)
se vuoi usare quella sintassi, aggiorna PHP ad una release nuova (adesso 
4.2.3)
altrimenti usa quella vecchia!
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.gnu.org/gnu/why-gnu-linux.it.html

Warning: Supplied argument is not a valid MySQL result resource in
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Leggere gli errori fa sempre comodo,
$_GET e' undefined
=>  $_GET['id'] e' undefined
=>  $query = "SELECT * FROM $tablename where id="; (sql non valido)
=>  mysql_query() fallisce 
=>  mysql_fetch_array non ha niente da prendere
Bonf