Mailinglisten-Archive |
tach uwe, > hi _(at)_ll, wir sind hier nich bei Giga... > habe gerade angefangen, mich mit php und mysql vertraut zu machen. > prompt stiess ich auf ein problem, bei dem ihr mir vielleicht > weiterhelfen koennt. > > ich habe eine datenbank angelegt und wollte diese mittels php-skript > fuellen. > das skript sieht so aus: > --------------------------------------------------------------------------- > <?php > $server = "192.168.0.1"; > $user = "root"; > $passwd = ""; > $dbase = "adressen"; > $tabelle = "email"; sowas includet man normalweise... include("/server/root/include/passwdfile.inc"); > mysql_connect($server, $user, $passwd) or die ("<h3>Datenbankserver > nicht erreichbar</h3>"); > mysql_select_db($dbase) or die ("<h3>Datenbank nicht vorhanden</h3>"); > > $result = mysql_query( "create table $tabelle( name varchar(20), > vorname varchar(20), email varchar(40) )" ); sollte man eigentlich nur einmal machen ;o) mehrmals nen table erstellen is leicht beknackt... also in shell create table ... und dann im script weg lassen. > mysql_query("INSERT INTO $tabelle VALUES('Voelker','Uwe','uvoelker_(at)_gmx.de')"); usw. schaut besser aus (orientierungstechnisch) > mysql_query( "insert into $tabelle > values('Napf','Karl','knapf_(at)_irgendwo.de') " ); > mysql_query( "insert into $tabelle > values('Wurst','Hans','hwurst_(at)_irgendwo.de') " ); > $anzahl=MYSQL_NUMROWS(MYSQL_QUERY( "SELECT * FROM $tabelle") ); $query = "SELECT * FROM $tabelle"; $anzahl = mysql_num_rows($query); > if ($anzahl==0): > echo "Keine Daten vorhanden"; > elseif ($anzahl > 0): > echo "$anzahl Datensaetze vorhanden"; > endif; würde ich so schreiben: if($anzahl > 0) { echo "$anzahl Datensaetze vorhanden"; ### HIER EINFÜGEN ### } else { echo "Keine Daten vorhanden"; } und den teil hier drunter würde ich dann oben einfügen... weil is nix da bringt das auch nix... > $result = mysql_query("select * from $tabelle"); > > echo "<table border=1 align=center>"; > echo "<tr>"; > > while($field = mysql_fetch_field($result)){ > echo "<th><font color=#ff0000>$field->name</font></th>"; > } > > echo "</tr>"; > > while($row = mysql_fetch_row($result)){ > echo "<tr>"; > for($i = 0; $i < mysql_num_fields($result); $i++){ > echo "<td align=center>$row[$i]</td>"; > } > > echo "</tr>"; > } > > echo "</table>"; > > mysql_close(); closen mußte nich, is ja keine perm connectio. nen mysql_free_result($result); wäre da ggf. angebracht... > ?> > --------------------------------------------------------------------------- > > innerhalb des browsers wird das ergebnis richtig angezeigt. lediglich > 3 eintraege wurden hinzugefuegt. > wenn ich mir die tabelle auf befehlszeilen-ebene anschaue, fnde ich > jeden eintrag doppelt vor! > > btw: ich habe das skript nicht mehrmals laufen lassen ;-) > > kann mir einer sagen was ich falsch mache. > ich bin fuer jeden hinweis dankbar. drop den table, erstell den table per shell und laß dann das script laufen. --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive