Schrijven van SQL-query's niet mogelijk

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Paul

paul

07/04/2006 14:44:00
Quote Anchor link
Hoi

Ik hem een probleempje ik wil graag via een SQL-query schrijven naar een mysql server. Nu heb ik het schript wel gevonden maar het werkt niet.

Ik krijg geen fout melding maar het lijkt er op dat er gewoon niets word uitgevoerd. Maar als ik bijvoorbeeld een verzoek vraag van "SHOW DATABASES" dan geeft hij niet weer. Weet iemand wat ik fout doe?



Ik heb het schript hieronder geplaatst:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<!-- Program Name:  mysql_send.php
     Description: PHP program that sends an SQL query to the
                  MySQL server and displays the results.
-->
<html>
<head>
<title>SQL Query Sender</title>
</head>
<body>
<?php
 $user
="xxxxxxxxxxxxx";
 $host="localhost";
 $password="xxxxxxxxxxxx";

 /* Section that executes query */
 if (@$form == "yes")  
 {

   mysql_connect($host,$user,$password);
   mysql_select_db($database);
   $query = stripSlashes($query) ;
   $result = mysql_query($query);
   echo "Database Selected: <b>$database</b><br>
          Query: <b>$query</b>
          <h3>Results</h3>
          <hr>"
;
   if ($result == 0)
      echo("<b>Error " . mysql_errno() . ": " . mysql_error() . "</b>");

   elseif (@mysql_num_rows($result) == 0)
      echo("<b>Query completed. No results returned.</b><br>");
   else
   {
     echo "<table border='1'>
           <thead>
            <tr>"
;
             for ($i = 0; $i < mysql_num_fields($result); $i++)
             {

                 echo("<th>" . mysql_field_name($result,$i) . "</th>");
             }

     echo " </tr>
           </thead>
           <tbody>"
;
             for ($i = 0; $i < mysql_num_rows($result); $i++)
             {

                echo "<tr>";
                $row = mysql_fetch_row($result);
                for ($j = 0; $j < mysql_num_fields($result); $j++)
                {

                  echo("<td>" . $row[$j] . "</td>");
                }

                echo "</tr>";
             }

             echo "</tbody>
                  </table>"
;
   }

   echo "<hr><br>
         <form action=$PHP_SELF method=post>
          <input type=hidden name=query value=\"$query\">
          <input type=hidden name=database value=$database>
          <input type=submit name=\"queryButton\" value=\"New Query\">
          <input type=submit name=\"queryButton\" value=\"Edit Query\">
         </form>"
;
   unset($form);
   exit();
 }


 /* Section that requests user input of query */
 @$query = stripSlashes($query);
 if (@$queryButton != "Edit Query")  
 {

   $database = " ";
   $query = " ";
 }

?>


<form action=<?php echo $PHP_SELF ?>?form=yes method="post">
 <table>
  <tr>
   <td align="right"><b>Type in database name</b></td>
   <td>
     <input type=text name="database" value=<?php echo $database ?> >
   </td>
  </tr>
  <tr>
   <td align="right" valign="top"><b>Type in SQL query</b></td>
     <td><textarea name="query" cols="60" rows="10"><?php echo $query ?></textarea>
   </td>
  </tr>
  <tr>
   <td colspan="2" align="center"><input type="submit" value="Submit Query"></td>
  </tr>
 </table>
</form>
 
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Paul
 
PHP hulp

PHP hulp

29/04/2024 08:04:06
 

07/04/2006 15:51:00
Quote Anchor link
Doe eens error_reporting(E_ALL);

Volgens mij krijg je dan te zien dat $query nooit gemaakt is, of ben je vergeten om die in dit script te zetten?
 
Paul

paul

07/04/2006 18:40:00
Quote Anchor link
Ik kom er zelf niet meer uit. Maar ik heb net begreppen dat het ook via phpmyadmin kan. Ik denk dat ik daar maar eens mee ga stooien.

Maar in ieder geval bedankt.
 
Jan Koehoorn

Jan Koehoorn

07/04/2006 18:52:00
Quote Anchor link
Je manier van de query uitvoeren en de resultaten ophalen is nogal ongewoon. Probeer het eens op deze manier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if (!($res = mysql_query ($sql))) {
    trigger_error (mysql_error ());
}

else {
    while ($row = mysql_fetch_assoc ($res)) {
    // hier je resultaten echoën
    }
}

?>
 
- SanThe -

- SanThe -

07/04/2006 19:22:00
Quote Anchor link
Je gebruikt geen $_POST en geen $_GET om je vars op te halen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.