[PHP/MySQL] code doet het niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi, ik het een boek gekocht om php een beetje te leren, en ik heb het volgende geschreven:

<?php

if(!isset($query)||empty($query))
{$query = "SELECT li_locwav FROM cd_brand WHERE cd_id = 200 order by li_pos";}
$query=stripslashes($query);

mysql_connect("localhost","user","passwd")
or die("Could not connect to database.");
mysql_select_db("mmcd") or
die("Cannot select database");
$result = mysql_query($query) or
die( mysql_error() );

$number_cols = mysql_num_fields($result);

echo "<b>query: $query</b>";
echo "<table border = 1>\n";
echo "<tr align=center>\n";
for ($i=0; $i<$number_cols; $i++)
{
echo "<th>" . mysql_field_name($result, $i). "</th>\n";
}
echo "</tr>\n";

while ($row = mysql_fetch_row($result))
{
echo "<tr align=left>\n";
for ($i=0; $i<$number_cols; $i++)
{
echo "<td>";
if (!isset($row[$i]))
{echo "NULL";}
else
{echo $row[$i];}
echo "</td>\n";
}
echo "</tr>\n";
}
echo "</table>";
?>

<form action="<? echo $PHP_SELF?>" method="get">
<input type="text" name="query" size="50"><br>
<input type="submit" value="Invoeren query">
</form>

Doormiddel van de formulier wil ik de query dus steeds wijzigen, maar op een of andere manier doet dit het niet. Na het invoeren van een query in de formulier, wordt de pagina opnieuw geladen, maar daar blijft het verder bij.

Weet iemand wat ik verkeerd doe?

Acties:
  • 0 Henk 'm!

Verwijderd

ehm,
misschien staat register_globals niet aan??
php versie?
[php] tags please!

Acties:
  • 0 Henk 'm!

  • ludo
  • Registratie: Oktober 2000
  • Laatst online: 26-04-2024
Begrijp je die code zelf :? En zou je de code tussen [ php ] en [ /php ] tags willen zetten dan is het tenminste te lezen ;)

Kans is idd groot dat het aan de register_globals ligt... check de faq even, daar staat hoe je dat moet oplossen.

[ Voor 33% gewijzigd door ludo op 30-11-2002 19:41 ]


Acties:
  • 0 Henk 'm!

  • AK47
  • Registratie: Juli 2001
  • Laatst online: 04-05-2024
Mhh:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
if(!isset($query)||empty($query)) {
    $query = "SELECT li_locwav FROM cd_brand WHERE cd_id = 200 order by li_pos";
}
$query=  stripslashes($query);

mysql_connect("localhost","user","passwd")
or die("Could not connect to database.");
mysql_select_db("mmcd") or
die("Cannot select database");
$result = mysql_query($query) or
die( mysql_error() );

$number_cols = mysql_num_fields($result);

echo "<b>query: $query</b>";
echo "<table border = 1>\n";
echo "<tr align=center>\n";
for ($i=0; $i<$number_cols; $i++) {
      echo "<th>" . mysql_field_name($result, $i). "</th>\n";
}
echo "</tr>\n";

while ($row = mysql_fetch_row($result)) {
          echo "<tr align=left>\n";
          for ($i=0; $i<$number_cols; $i++) {
                 echo "<td>";
                 if (!isset($row[$i])) {
                     echo "NULL";
                 }
                 else {
                     echo $row[$i];
                 }
                 echo "</td>\n";
          }
          echo "</tr>\n";
}
echo "</table>";
?>

<form action="<? echo $PHP_SELF?>" method="get">
<input type="text" name="query" size="50"><br>
<input type="submit" value="Invoeren query">
</form>


Mhh, maar geeft deze code bij je ook verder geen output, want zoals het hier staat moet er wel output iig getoond worden....

Of hij blijft hangen bij dat while-statement, omdat er geen query in gevoerd wordt (omdat misschien register_globals uitstaat).... :?

[ Voor 31% gewijzigd door AK47 op 30-11-2002 19:47 . Reden: Code overzichtelijker ]


Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 18-09 20:50
Grote kans dat je $_GET['query'] moet aanroepen ipv $query.

Btw tis veiliger om POST te gebruiken ipv GET in een form.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
jawel, als je de pagina laadt dan krijg je wel gewoon de output van de query: SELECT li_locwav FROM cd_brand WHERE cd_id = 200 order by li_pos

Maar als je daarna een query invuld via het formulier, dan wordt er niks gedaan met de ingevulde query. De pagina laadt gewoon opnieuw, en je ziet gewoon precies dezelfde pagina met query SELECT li_locwav FROM cd_brand WHERE cd_id = 200 order by li_pos

Ik gebruik trouwens php versie 4.2.3
En ik heb zonet de register_globals aan gezet, maar het blijfrt hetzelfde.

En $_GET['query'] ipv $query heeft ook niet geholpen.
Ik krijg dat niet eens iets op het scherm te zien behalve "query was empty".

[ Voor 8% gewijzigd door Verwijderd op 30-11-2002 20:01 ]


Acties:
  • 0 Henk 'm!

Verwijderd

als register_globals aan staat moet je $_GET gebruiken want anders werkt het cker niet...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb mijn 2e post geupdate, maar zal het nog eventjes herhalen.
Als ik nu gebruik maar van de $_GET dan krijg ik alleen "query was empty" op mijn scherm.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik vind het wel erg raar, want zelfs dit doet het niet:
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php

$db_connect = mysql_connect ("localhost","user","passwd") or
    die ("Geen verbinding kunnen maken met MySQL");
$select_db = mysql_select_db ("mmcd");

echo $naam;
?>
<form action="<? echo $PHP_SELF?>" method="post">
<input type="text" name="naam"> <input type="submit">
</form>

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Verwijderd schreef op 30 november 2002 @ 20:25:
Ik vind het wel erg raar, want zelfs dit doet het niet:

Ik heb een auto, hij doet het niet, wat is er fout mee ?

Zodra jij de juiste oplossing van mijn raadsel geeft geef ik jou persoonlijk uitleg hoe PHP precies werkt.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Ik raad je aan http://62.250.9.120/artikelen.php?aid=88 eens heel goed te lezen, je hebt $_GET en $_POST nog niet helemaal begrepen volgens mij.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
klopt, ik volgde een tutorial die wat ouder was.
Het is mij inmiddels al gelukt

Acties:
  • 0 Henk 'm!

Verwijderd

vervang mysql_fetch_row eens door mysql_fetch_array ?

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 22:59

chem

Reist de wereld rond

Sybr_E-N schreef op 30 November 2002 @ 19:48:
Grote kans dat je $_GET['query'] moet aanroepen ipv $query.

Btw tis veiliger om POST te gebruiken ipv GET in een form.

sure, whatever :?

Dat is echt complete onzin.

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

Verwijderd

Hey Ashwin,
wist je dat je geen huiswerk mag vragen hierro????

Make My CD(ay)? :P

tis dat je in mijn groepie zit :)

[ Voor 23% gewijzigd door Verwijderd op 01-12-2002 23:17 ]

Pagina: 1