/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Include fejl.
Fra : Lasse Stig Thomsen


Dato : 24-06-01 20:37

Hejsa.

Jeg har lavet min dejlige sider med en masse include filer, men problemet er
bare at når jeg kører en af siderne der skulle indeholde include filer får
jeg følgende fejl.

Unable to connect to SQL server. Reason: You have an error in your SQL
syntax near '' at line 1

Men hvis jeg kører inlude filen alene er der ingen fejl.

Koden til den side som der henter include filerne.

<? include("http://www.retel.dk/global/top.php"); ?>

<table border="0" width="100%">
<tr>
<td align="left" valign="top" width="175">
<? include("http://www.retel.dk/include/dk/menudk.php"); ?></td>

<td align="left" valign="top" width="450"><br><br>
<? include("http://www.retel.dk/reviews/include/read.php"); ?></td>

<td align="left" valign="top" width="175">
<? include("http://www.retel.dk/global/nyheder.php"); ?></td>
</tr>
</table>
<? include("http://www.retel.dk/global/stat.php"); ?>
<? include("http://www.retel.dk/global/bund.php"); ?>

Det er kun include filen www.retel.dk/reviews/include/read.php der kommer
med fejlen. Den fil bruges når jeg henter noget ud fra min database. og den
har dette indhold.

<?
$server = "*********";
$brugernavn = "*******";
$password = "********";
$db_navn = "*******";

if (!mysql_pconnect($server, $brugernavn, $password)) {
echo mysql_error()."\n";
die("Unable to connect\n");
}

mysql_select_db("$db_navn")
or die("Unable to select db ".mysql_error()."\n");

$result = mysql_query("SELECT * FROM reviews where id=$id")
or die( "Unable to connect to SQL server. Reason: ".mysql_error());

while ($row = mysql_fetch_array($result)) {
$delt = explode ("afrolem", $row[testen]);

?>



<table border="0" width="450" align="center" cellspacing="1"
bordercolor="#BECAD6">
<tr>
<td><font color="#c0c0c0" face="Verdana,Arial, Helvetica, sans-serif"
size="2"><b>
<? print $delt[$side]; ?></td>
</tr>
<table>



<center><b>
<?
if(mysql_num_rows($result) > 0) {
$string = $row[testen];
$arr_string = explode("afrolem", $string);
echo "[";
for($i=0; $i<sizeof($arr_string)-1; $i++) {
if($i != 0) {
echo "-";
}
$linkid = ($i + 1);
echo " <a
href=\"http://www.retel.dk/reviews/include/read.php?id=$id&side=$i\">".$link
id."</a> ";
}
echo "]";
}



?>




</center></b>
<?

}

mysql_close()
?>


Serveren der ligger på er hos Azero.dk
Hvad går der galt?

Håber der er en venlig sjæl der kan hælpe mig.

MVH: Lasse Stig Thomsen




 
 
Per Thomsen (24-06-2001)
Kommentar
Fra : Per Thomsen


Dato : 24-06-01 23:01


"Lasse Stig Thomsen" <lasse@tt-trading.dk> skrev i en meddelelse
news:SirZ6.1957$lf5.346313@news010.worldonline.dk...
> Hejsa.
>
> Jeg har lavet min dejlige sider med en masse include filer, men
problemet er
> bare at når jeg kører en af siderne der skulle indeholde include filer
får
> jeg følgende fejl.
>
> Unable to connect to SQL server. Reason: You have an error in your SQL
> syntax near '' at line 1
>
[snip]
> $result = mysql_query("SELECT * FROM reviews where id=$id")
> or die( "Unable to connect to SQL server. Reason: ".mysql_error());

Så vidt jeg kan se, er det fordi at $id er tom, måske mangler du en
$id = $HTTP_GET_VARS['id'];

>
> while ($row = mysql_fetch_array($result)) {
> $delt = explode ("afrolem", $row[testen]);
[snip]
Din query henter kun en række fra en tabel (med mindre id i din tabel
ikke er unikt), men
ovenstående kode, ligner noget der skal processer flere rækker fra en
tabel. Måske
er det slet og ret din query, du ønsker at skrive som:
"SELECT * FROM reviews"

Hvorfor det virker, når du kører filen alene, har jeg ingen ide om.

MVH Per Thomsen,
http://www.pert.dk/


Lasse Stig Thomsen (24-06-2001)
Kommentar
Fra : Lasse Stig Thomsen


Dato : 24-06-01 23:14


"Per Thomsen" <pert@pert.dk> skrev i en meddelelse
news:9h5o59$8lg$1@sunsite.dk...
>
> "Lasse Stig Thomsen" <lasse@tt-trading.dk> skrev i en meddelelse
> news:SirZ6.1957$lf5.346313@news010.worldonline.dk...
> > Hejsa.
> >
> > Jeg har lavet min dejlige sider med en masse include filer, men
> problemet er
> > bare at når jeg kører en af siderne der skulle indeholde include filer
> får
> > jeg følgende fejl.
> >
> > Unable to connect to SQL server. Reason: You have an error in your SQL
> > syntax near '' at line 1
> >
> [snip]
> > $result = mysql_query("SELECT * FROM reviews where id=$id")
> > or die( "Unable to connect to SQL server. Reason: ".mysql_error());
>
> Så vidt jeg kan se, er det fordi at $id er tom, måske mangler du en
> $id = $HTTP_GET_VARS['id'];


Den er ikke tom da jeg for at bruge denne side skriver jeg
www.retel.dk/reviews/read.php?id=1 eller hvad id nu er lig med. Men jeg vil
lige prøve med $id = $HTTP_G osv. Hvor skal denne placeres?

Det sjove er at fejlen opstod da jeg skiftede host.


> > while ($row = mysql_fetch_array($result)) {
> > $delt = explode ("afrolem", $row[testen]);
> [snip]
> Din query henter kun en række fra en tabel (med mindre id i din tabel
> ikke er unikt), men
> ovenstående kode, ligner noget der skal processer flere rækker fra en
> tabel. Måske
> er det slet og ret din query, du ønsker at skrive som:
> "SELECT * FROM reviews"
>

Id er unikt da den definere hvilket review i tablen der er tale om.





Jonas Delfs (24-06-2001)
Kommentar
Fra : Jonas Delfs


Dato : 24-06-01 23:18

"Per Thomsen" <pert@pert.dk> skrev i en meddelelse
news:9h5o59$8lg$1@sunsite.dk...

> Så vidt jeg kan se, er det fordi at $id er tom, måske mangler du en
> $id = $HTTP_GET_VARS['id'];

Bare et lille fif: hvis register_globals er off, og man ønsker at benytte
variabler fra query-string som fx. $id, kan man bare:
extract($HTTP_GET_VARS);

--
Mvh. Jonas Delfs, http://delfs.dk
e72bd3e51a7937c87d28b85d677a97b2



Peter Brodersen (25-06-2001)
Kommentar
Fra : Peter Brodersen


Dato : 25-06-01 02:38

On Mon, 25 Jun 2001 00:18:18 +0200, "Jonas Delfs"
<jonas@nospam.delfs.dk> wrote:

>Bare et lille fif: hvis register_globals er off, og man ønsker at benytte
>variabler fra query-string som fx. $id, kan man bare:
>extract($HTTP_GET_VARS);

Man skal dog bemærke, at extracts default-behaviour er
"EXTR_OVERWRITE", og man på den måde kunne bytte rundt på
EGPCS-rækkefølgen, forstået på den måde, at hvis man i querystring'en
skriver REMOTE_ADDR=10.20.30.40 og man efterfølgende kører
extract($HTTP_GET_VARS), så bliver $REMOTE_ADDR altså sat til
"10.20.30.40", og vil ikke længere være lig hvad serveren har sat den
til.

Man kan selvfølgelig argumentere for at man måske ikke burde hive
IP-adressen ud af en global variabel. Omvendt set burde man kunne
stole på sin EGPCS-konfiguration. På den tredje side burde man i
starten af sine scripts alligevel sikre sig, at ens kode er kompatibel
med serverkonfigurationen (fx ved at checke at magic_quotes_gpc står
til den rette værdi, i forhold til ens kode).


--
- Pede
Professionel nørd

Jonas Delfs (25-06-2001)
Kommentar
Fra : Jonas Delfs


Dato : 25-06-01 12:10

"Peter Brodersen" <professionel@nerd.dk> skrev i en meddelelse
news:ev4djt0rlb3cugbqdh6ddhg8e2ms4f0mu9@news.worldonline.dk...

> >Bare et lille fif: hvis register_globals er off, og man ønsker at benytte
> >variabler fra query-string som fx. $id, kan man bare:
> >extract($HTTP_GET_VARS);
>
> Man skal dog bemærke, at extracts default-behaviour er
> "EXTR_OVERWRITE", og man på den måde kunne bytte rundt på
> EGPCS-rækkefølgen, forstået på den måde, at hvis man i querystring'en
> skriver REMOTE_ADDR=10.20.30.40 og man efterfølgende kører
> extract($HTTP_GET_VARS), så bliver $REMOTE_ADDR altså sat til
> "10.20.30.40", og vil ikke længere være lig hvad serveren har sat den
> til.

Jeps.

> Man kan selvfølgelig argumentere for at man måske ikke burde hive
> IP-adressen ud af en global variabel. Omvendt set burde man kunne
> stole på sin EGPCS-konfiguration. På den tredje side burde man i
> starten af sine scripts alligevel sikre sig, at ens kode er kompatibel
> med serverkonfigurationen (fx ved at checke at magic_quotes_gpc står
> til den rette værdi, i forhold til ens kode).

Jeg er enig - personligt mener jeg ikke at register_globals skal være On, og
derfor heller ikke at man så skal lave en sådan andenrangsløsning.
Det var bare en oplysning til folket. :)

--
Mvh. Jonas Delfs, http://delfs.dk
e72bd3e51a7937c87d28b85d677a97b2



Lasse Stig Thomsen (25-06-2001)
Kommentar
Fra : Lasse Stig Thomsen


Dato : 25-06-01 14:44

Register_globals er on, så nogen der ved hvad jeg gør galt?


"Jonas Delfs" <jonas@nospam.delfs.dk> skrev i en meddelelse
news:9h5oq9$9lh$1@sunsite.dk...
> "Per Thomsen" <pert@pert.dk> skrev i en meddelelse
> news:9h5o59$8lg$1@sunsite.dk...
>
> > Så vidt jeg kan se, er det fordi at $id er tom, måske mangler du en
> > $id = $HTTP_GET_VARS['id'];
>
> Bare et lille fif: hvis register_globals er off, og man ønsker at benytte
> variabler fra query-string som fx. $id, kan man bare:
> extract($HTTP_GET_VARS);
>
> --
> Mvh. Jonas Delfs, http://delfs.dk
> e72bd3e51a7937c87d28b85d677a97b2
>
>



Søg
Reklame
Statistik
Spørgsmål : 177522
Tips : 31968
Nyheder : 719565
Indlæg : 6408672
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste