Mysql Fehlermeldung, weis nich weiter

News leider nicht eingetragen!
Notice: Constant MYSQL_HOST already defined in C:\apachefriends\xampp\htdocs\David\Weader\config.php on line 2

Notice: Constant MYSQL_USER already defined in C:\apachefriends\xampp\htdocs\David\Weader\config.php on line 3

Notice: Constant MYSQL_PASS already defined in C:\apachefriends\xampp\htdocs\David\Weader\config.php on line 4

Notice: Constant MYSQL_DATABASE already defined in C:\apachefriends\xampp\htdocs\David\Weader\config.php on line 5

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\apachefriends\xampp\htdocs\David\Weader\feinde.php on line 180
Keine News in der Datenbank!

Kann mir jemand hier mal sagen was ich genau falsch mache?
Das ist die confic.php:

<?php define ('MYSQL_HOST','localhost');
define ('MYSQL\_USER','weader'); define ('MYSQL\_PASS','merlin'); define ('MYSQL\_DATABASE','weader'); error\_reporting(E\_ALL); ?\> und das ist: C:\apachefriends\xampp\htdocs\David\Weader\feinde.php on line 180: if(mysql\_num\_rows($select\_result)) {

Hallo David,

News leider nicht eingetragen!
Notice: Constant MYSQL_HOST already defined in
C:\apachefriends\xampp\htdocs\David\Weader\config.php on line
2

Notice: Constant MYSQL_DATABASE already defined in
C:\apachefriends\xampp\htdocs\David\Weader\config.php on line
5

Ich rate mal ins Blaue: Du rufst die config.php öfters auf. Reduziere die Aufrufe auf 1 und die Meldungen sollten weg sein. (Disclaimer: Dies ist eine ungeprüfte Aussage).

Warning: mysql_num_rows(): supplied argument is not a valid
MySQL result resource in
C:\apachefriends\xampp\htdocs\David\Weader\feinde.php on line
180
Keine News in der Datenbank!

und das ist:
C:\apachefriends\xampp\htdocs\David\Weader\feinde.php on line
180:

if(mysql_num_rows($select_result)) {

Interessant wäre, was VOR dieser Zeile steht, genau genommen jene Zeile, wo $select_result der Wert zugewiesen wird (schätzomativ irgendeine „SELECT“-Anweisung).

Mfg,
Pürsti

Also die Config.php hatte ich tatsächlich 2xmal eingefügt, der Fehler wäre beseitigt, bleibt noch der:

News leider nicht eingetragen!
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\apachefriends\xampp\htdocs\David\Weader\feinde.php on line 175
Keine News in der Datenbank!

Hier der ganze Quelltext:

<?php $timestamp = time();
$datum = date("d.m.Y",$timestamp); include ('config.php'); $db\_link = mysql\_connect(MYSQL\_HOST, MYSQL\_USER, MYSQL\_PASS); if($db\_link) {}else {echo "Verbindung ging nicht"; } if(mysql\_select\_db(MYSQL\_DATABASE, $db\_link)) { } else { echo " Die Datenbank konnte nicht gefunden werden"; } $write = "INSERT INTO `news` ( `adresse` , `feind` , `alli` , `wer` , `newsid` ) VALUES ( '$adresse', '$feind', '$alli', '$wer', '' )"; $swrite = mysql\_query ($write, $db\_link); if ($swrite) { echo " News eingetragen!"; } else { echo " News leider nicht eingetragen! "; } $db\_link = mysql\_connect(MYSQL\_HOST, MYSQL\_USER, MYSQL\_PASS); if($db\_link) { } else {echo "Verbindung ging nicht"; } if(mysql\_select\_db(MYSQL\_DATABASE, $db\_link)) { } else { echo " Die Datenbank konnte nicht gefunden werden"; } $select = "SELECT \* FROM news ORDER BY newsid DESC;"; $select\_result= mysql\_query($select); if(mysql\_num\_rows($select\_result)) { while($ausgabe = mysql\_fetch\_assoc($select\_result)) { $adresse = $ausgabe['adresse']; $feind = $ausgabe['feind']; $punkte = $ausgabe['punkte']; $alli = $ausgabe['alli']; $wer = $ausgabe['wer']; $newsid = $ausgabe['newsid']; echo "Adresse"; echo $adresse; echo $feind; echo $punkte; echo $alli; echo $wer; } ; } else { echo 'Keine News in der Datenbank!'; } ; ?\> Danke schon mal im Vorraus.

Hallo David,

Ich hoffe, Du bist nicht böse, wenn ich Dein Programm ein wenig umformatiere resp. auch umprogrammiere (am Anfang der Zeilen schreibe ich die Zeilennummer):

01 <?php 02 $timestamp = time();<br />03 $datum = date("d.m.Y",$timestamp);
04 include ('config.php');
05 $db\_link = mysql\_connect(MYSQL\_HOST, MYSQL\_USER, MYSQL\_PASS);
06 if(!$db\_link)
07 {
08 echo "Verbindung ging nicht";
09 exit();
10 }
11 if(!mysql\_select\_db(MYSQL\_DATABASE, $db\_link))
12 {
13 echo "
 Die Datenbank konnte nicht gefunden werden";
14 exit();
15 }
16 $write = "INSERT INTO `news` ( `adresse` , `feind`,`alli` ,`wer` , `newsid` )
17 VALUES ( '$adresse', '$feind', '$alli', '$wer', '' )";
18 $swrite = mysql\_query ($write, $db\_link);
19 if ($swrite)
20 {
21 echo "
 News eingetragen!";
22 }
23 else
24 {
25 echo "
 News leider nicht eingetragen! ";
26 echo '
 Folgender Fehler trat auf: " . mysql\_error();
27 exit();
28 }
29 $select = "SELECT \* FROM news ORDER BY newsid DESC";
30 $select\_result= mysql\_query($select);
31 if( !$select\_result )
32 {
33 echo "
 Folgender DB-Fehler trat auf: " . mysql\_error();
34 exit();
35 }
36 if(mysql\_num\_rows($select\_result))
37 {
38 while( $ausgabe = mysql\_fetch\_assoc($select\_result) )
39 {
40 $adresse = $ausgabe['adresse'];
41 $feind = $ausgabe['feind'];
42 $punkte = $ausgabe['punkte'];
43 $alli = $ausgabe['alli'];
44 $wer = $ausgabe['wer'];
45 $newsid = $ausgabe['newsid'];
46 echo "Adresse";
47 echo $adresse;
48 echo $feind;
49 echo $punkte;
50 echo $alli;
51 echo $wer;
52 }
53 }
54 else
55 {
56 echo 'Keine News in der Datenbank!';
57 }
58 mysql\_close( $db\_link );
59 ?\>

Was habe ich gemacht?
(1) „{“ resp. „}“: Jeder hat da seinen eigenen Stil, ich setze normalerweise bei einem zusammengehörenden Paar die 2 Klammern in die gleiche Spalte und rücke den Teil dazwischen ein - somit sieht man sofort, wo der Block anfängt und aufhört.
(2) Du hattest zweimal die Zeile

$db_link = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);

drinnen - dies ist nicht notwendig.
(3) 09,14,27,34: Normalerweise ist die weitere Ausführung eines Skriptes nach einem Fehler nur mehr beschränkt sinnvoll, daher beende ich das Skript an jener Stelle mit „exit();“
(4) 26,33: Wenn bei der Datenbankoperation ein Fehler auftrat, kann man diesen Fehler mit der Funktion mysql_error() auslesen. Nun hast Du zweimal ein DB-Problem. Das erste mal sieht man hier:

News leider nicht eingetragen!

Der 2. Fehler tritt hier zu Tage:

Warning: mysql_num_rows(): supplied argument is not a valid
MySQL result resource in
C:\apachefriends\xampp\htdocs\David\Weader\feinde.php on line
175

Durch die eingefügten Zeilen wird ersichtlich, weshalb der DB-Zugriff Probleme macht.

Ich ersuche Dich, das Skript mit den „mysql_error()“-Zeilen auszuführen. Falls Du aus dem Output nicht schlau wirst, poste bitte die Ausgabe hier im Forum. Merci!

Einen schönen Sonntag,
Pürsti

P.S.: Ich habe das Skript NICHT getestet - eventuelle Fehler sind also möglich.