MySQL PHP ; describe tabellenname ausgeben
Karl-Heinz Hump
- datenbank
0 Philipp Hasenfratz0 KHH0 comunicout0 KHH
Hallo,
ich habe auf meinem Server eine MySQL Datenbank und PHP laufen.
Jetzt möchte ich über ein Formular ein Statement eingeben und das Ergebnis ausgeben.
Select * from irgendwas ist ja kein Problem.
$sql = "SELECT * FROM news ORDER BY newsID ASC";
$result = mysql_query($sql) OR die(mysql_error());
?>
<html>
<body bgcolor="a0a0a0" link="blue" vlink="blue" alink="blue">
<? while($row = mysql_fetch_assoc($result)) { ?>
...
<?= $row['eintrag']; ?>
...
<? } ?>
Wenn ich jetzt aber ein anderes SQL Statement z.B. describe tbname oder ein Create Table Statement eingebe, wie kann ich die Ausgabe herauskriegen?
Danke für eure Hilfe.
KHH.
Halihallo Karl-Heinz
Wenn ich jetzt aber ein anderes SQL Statement z.B. describe tbname oder ein Create Table Statement eingebe, wie kann ich die Ausgabe herauskriegen?
DESCRIBE ... genauso wie ein SELECT.
Bei CREATE TABLE gibt es keinen Output, also kann auch nichts "geholt" werden.
Viele Grüsse
Philipp
DESCRIBE ... genauso wie ein SELECT.
Bei CREATE TABLE gibt es keinen Output, also kann auch nichts "geholt" werden.
ja ich weiß. aber describe bringt
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| name | varchar(255) | YES | | NULL | |
| email | varchar(255) | YES | | NULL | |
| age | char(3) | YES | | NULL | |
| id | varchar(4) | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+
9 rows in set (0.11 sec)
sowas in der art.... aber nen describe hat keinen index daher will ich die ausgabe vom mysql server 1:1 ausgeben. gibt es dafür keinen befehl?
khh.
hi,
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| name | varchar(255) | YES | | NULL | |
| email | varchar(255) | YES | | NULL | |
| age | char(3) | YES | | NULL | |
| id | varchar(4) | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+
9 rows in set (0.11 sec)
print("<table><tr><td>field</td><td>type</td><td>null</td><td>key</td><td>default</td><td>extra</td></tr>");
$sql = "DESCRIBE tabelle";
while($daten=mysql_fetch_array($sql)) {
print("<tr><td>$daten[field]</td><td>$daten[type]</td>... usw
}
meintest du so etwas ?
mfg
comunicout
$sql = "DESCRIBE tabelle";
while($daten=mysql_fetch_array($sql)) {
print("<tr><td>$daten[field]</td><td>$daten[type]</td>... usw
}meintest du so etwas ?
NEIN, ich will die komplette ausgabe einfach 1:1 ausgeben.
Ich habe ja da keine Indexe, daher muß es da eine Funktion geben.
KHH
Halihallo KHH
NEIN, ich will die komplette ausgabe einfach 1:1 ausgeben.
Ich habe ja da keine Indexe, daher muß es da eine Funktion geben.
Blödsinn. Wie hast du es versucht?
Und nein, 1:1 ist nicht möglich, denn die von dir gepostete Ausgabe ist nicht die des
MySQL-Servers (dessen Ausgabe ist vom Menschen nur schwer lesbar), sondern die der
MySQL-Konsole und die ist genauso nur ein Client, wie dein Script.
Viele Grüsse
Philipp
Ihr könnt es ja mal selbst testen.
http://www.citrix-forum.net/sf/statement.php
<? while($row = mysql_fetch_array($result)) { ?>
<pre>
<?= var_dump($row); ?>
</pre>
<? } ?>
sieht schon besser aus, bringt aber sowas:
... array(12) { [0]=> string(6) "newsID" ["Field"]=> string(6) "newsID" [1]=> string(12) "mediumint(9)" ["Type"]=> string(12) "mediumint(9)" [2]=> string(0) "" ["Null"]=> string(0) "" [3]=> string(3) "PRI" ["Key"]=> string(3) "PRI" [4]=> NULL ["Default"]=> NULL [5]=> string(14) "auto_increment" ["Extra"]=> string(14) "auto_increment" } array(12) { [0]=> string(7) "eintrag" ["Field"]=> string(7) "eintrag" [1]=> string(4) "text" ["Type"]=> string(4) "text" [2]=> string(3) "YES" ["Null"]=> string(3) "YES" [3]=> string(0) "" ["Key"]=> string(0) "" [4]=> NULL ["Default"]=> NULL [5]=> string(0) "" ["Extra"]=> string(0) "" } array(12) { [0]=> string(6) "author" ["Field"]=> string(6) "author" [1]=> string(4) "text" ["Type"]=> string(4) "text" [2]=> string(3) "YES" ["Null"]=> string(3) "YES" [3]=> string(0) "" ["Key"]=> string(0) "" [4]=> NULL ["Default"]=> NULL [5]=> string(0) "" ["Extra"]=> string(0) "" } array(12) { [0]=> string(5) "email" ["Field"]=> string(5) "email" [1]=> string(4) "text" ["Type"]=> string(4) "text" [2]=> string(3) "YES" ["Null"]=> string(3) "YES" [3]=> string(0) "" ["Key"]=> string(0) "" [4]=> NULL ["Default"]=> NULL [5]=> string(0) "" ["Extra"]=> string(0) "" }
nicht wirklich super zum lesen.
Halihallo KHH
Ihr könnt es ja mal selbst testen.
Wieso? - Es funktioniert doch alles wie erwartet.
... array(12) { [0]=> string(6) "newsID" ["Field"]=> string(6) "newsID" [1]=> string(12) "mediumint(9)" ["Type"]=> string(12) "mediumint(9)" [2]=> string(0) "" ["Null"]=> string(0) "" [3]=> string(3) "PRI" ["Key"]=> string(3) "PRI" [4]=> NULL ["Default"]=> NULL [5]=> string(14) "auto_increment" ["Extra"]=> string(14) "auto_increment" } array(12) { [0]=> string(7) "eintrag" ["Field"]=> string(7) "eintrag" [1]=> string(4) "text" ["Type"]=> string(4) "text" [2]=> string(3) "YES" ["Null"]=> string(3) "YES" [3]=> string(0) "" ["Key"]=> string(0) "" [4]=> NULL ["Default"]=> NULL [5]=> string(0) "" ["Extra"]=> string(0) "" } array(12) { [0]=> string(6) "author" ["Field"]=> str
Halihallo Maxwell'scher Daemon!
Warum frisst du mir einfach so den letzten Kommentar??? - Na gut, ich verzeih dir
nochmals:
Wieso? - Es funktioniert doch alles wie erwartet.
... array(12) { [0]=> string(6) "newsID" ["Field"]=> string(6) "newsID" [1]=> string(12) "mediumint(9)" ["Type"]=> string(12) "mediumint(9)" [2]=> string(0) "" ["Null"]=> string(0) "" [3]=> string(3) "PRI" ["Key"]=> string(3) "PRI" [4]=> NULL ["Default"]=> NULL [5]=> string(14) "auto_increment" ["Extra"]=> string(14) "auto_increment" } array(12) { [0]=> string(7) "eintrag" ["Field"]=> string(7) "eintrag" [1]=> string(4) "text" ["Type"]=> string(4) "text" [2]=> string(3) "YES" ["Null"]=> string(3) "YES" [3]=> string(0) "" ["Key"]=> string(0) "" [4]=> NULL ["Default"]=> NULL [5]=> string(0) "" ["Extra"]=> string(0) "" } array(12) { [0]=> string(6) "author" ["Field"]=> str
[...noch mehr array...]
Na, man siehe da: Ein _Array_, sogar mit Index _und_ Schlüsselnamen ansprechbar.
Verstehe dein Problem noch immer nicht ;-)
Viele Grüsse
Philipp
Hi,
NEIN, ich will die komplette ausgabe einfach 1:1 ausgeben.
Ich habe ja da keine Indexe, daher muß es da eine Funktion geben.
hast Du es ausprobiert?
$res = mysql_query("describe <table>") or die("error: ".$mysql_error());
while($row = mysql_fetch_array($res)){
"<pre>".var_dump($row)."</pre>";
}
bringt genau was Du willst!
Es gibt keine 1:1 Funktion
ciao
romy