Seite 1 von 2

problem beim zusammenspiel mit DB

Verfasst: 03.08.2004 14:56
von Andy120
Also ich wollte eine Tabelle machen und die DB mit benutzen...

Hier der code...

Code: Alles auswählen

<html>
<body>

<?php
   mysql_connect();
   mysql_select_db("usr_web102_7");

   $res = mysql_query("select * from personen");
   $num = mysql_num_rows($res);

   // Tabellenbeginn
   echo "<table border>";

   // Überschrift
   echo "<tr> <td>Lfd.<br>Nr.</td> <td>Name</td>";
   echo "<td>Vorname</td> <td>Personal-<br>nummer</td>";
   echo "<td>Gehalt</td> <td>Geburtstag</td> </tr>";

   $lf = 1;
   while ($dsatz = mysql_fetch_assoc($res))
   {
      echo "<tr>";
      echo "<td>$lf</td>";
      echo "<td>" . $dsatz["name"] . "</td>";
      echo "<td>" . $dsatz["vorname"] . "</td>";
      echo "<td>" . $dsatz["personalnummer"] . "</td>";
      echo "<td>" . $dsatz["gehalt"] . "</td>";
      echo "<td>" . $dsatz["geburtstag"] . "</td>";
      echo "</tr>";
      $lf = $lf + 1;
   }

   // Tabellenende
   echo "</table>";
?>

</body>
</html>
Wen ich jetzt aber die Seite aufrufe kommt folgendes...
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/web102/html/index/php/namen.php on line 9

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/web102/html/index/php/namen.php on line 20
Hier zum anschauen >>

Ich hoffe jemand weis was da falsch läuft...

Verfasst: 03.08.2004 15:20
von Blutgerinsel
Hey,

beim Drüberlesen hab ich bereits einen Fehler gefunden und zwar bei mysql_connect();
mysl_connect erwartet Verbindungsdaten bekommt aber keine!

nähere Infos siehe Manual -> mysql_connect();

Noch ein kleiner Tipp von mir gewöhne dir an mit mysql_error(); zu arbeiten wenn du entwickelst.

bsp.:

Code: Alles auswählen

$res=@mysql_query("Select * FROM blabla") or die ("SQL Statement Error: ".mysql_error());
Das ganze auch bei mysql_connect etc. verwenden.
Dadurch hättest du deinen Fehler selber finden können :wink:

Verfasst: 03.08.2004 16:01
von Andy120
1) Wen ich in dein Forum will existiert kein Beitrag von dem obrigen Link...

2) Kannst du mir mal den oberen Text von mir bzw. code so schreiben das ich genau weis wie was wo... Ich hatte bisher nie mit ner DB gespielt so zu sagen ;) :D

Verfasst: 03.08.2004 16:15
von Leuchte
http://dev.mysql.com/doc/mysql/de/mysql_connect.html
Bei deiner Verbindung fehlen Host, User und PW..

Verfasst: 03.08.2004 16:32
von Andy120
Danke Leuchte...;)

Aber ich kapiers immer noch nicht ganz ist mir peinlich :oops:

wen ich mysql_connect() habe.., muss ich es dann so machen:

MYSQL mysql_connect(MYSQL mysql, const char localhost, const char xxx, const char xxx);

???

Verfasst: 03.08.2004 17:25
von Leuchte

Code: Alles auswählen

$host = "localhost";
$user = "andy120";
$pass = "blubb";
$db = "usr_web102_7";

mysql_connect($host, $user, $pass);
mysql_select_db($db);

Verfasst: 03.08.2004 17:29
von Andy120
YEA jetzt hab ich es geschnallt :D

DANKE!!!!

Verfasst: 03.08.2004 17:41
von Blutgerinsel
Sry wegen dem Link, hatte einen anderen wohl noch in der Zwischenablage welcher besondere Rechte erfordert.........

Schön das es geht....

Verfasst: 03.08.2004 18:57
von Andy120
2. Problem ;)

Wen ich jetzt einen Eintrag per Browser mache also mit einem Eingabe Formular geht es wieder nicht so wie ich will...

so sieht der Code aus...

Code: Alles auswählen

<html>

<head>
<?php
	  
   if (isset($gesendet))
   {
	  
      mysql_connect();
	  mysql_select_db($db);
      
      $sqlab = "insert marketing";
      $sqlab .= "(betreff, email, prio,";
      $sqlab .= " status, zu, email1) values ";
      $sqlab .= "('$be', '$em', $pr, $st, $zu, '$email1')";

      mysql_query($sqlab);

      $num = mysql_affected_rows();
      if ($num>0)
      {
         echo "<font color='#00aa00'>";
         echo "Es wurde 1 Datensatz hinzugefügt<p>";
         echo "</font>";
      }
      else
      {
         echo "<font color='#ff0000'>";
         echo "Es ist ein Fehler aufgetreten, ";
         echo "es wurde kein Datensatz hinzugefügt<p>";
         echo "</font>";
      }
   }
?>
</head>

<body>
Geben Sie einen vollständigen Datensatz ein<br>
und senden Sie das Formular ab:
<form action = "einfuegen.php" method = "post">
    <input name="be"> Betreff<p>
    <input name="em"> E-Mail<p>
    <input name="pr"> Priorität<p>
    <input name="st"> Status<p>
    <input name="zu"> Zuständig<p>
    <input name="email1"> E-Mail<p>
    <input type="submit" name="gesendet">
    <input type="reset">
</form>

Alle Datensätze <a href="marketing.php">anzeigen</a>
</body>
</html>
Wen ich jetzt bei connect() eingebe wie bei Leuchte also so:

Code: Alles auswählen

<html>

<head>
<?php

      $host = "localhost";
	  $user = "web102";
	  $pass = "mein PW";
	  $db = "usr_web102_7";
	  
   if (isset($gesendet))
   {
	  
      mysql_connect($host, $user, $pass);
	  mysql_select_db($db);

Geht es wieder nicht... Kann jemand helfen bitte :P

Verfasst: 03.08.2004 19:14
von k-5
also in dem sql befehl fehlt zumindest ein "into"

"insert into marketing .."

als anfänger solltest du dir aber wirklich die fehler ausgeben lassen .. hilft doch einiges .. vorallem wenn man keine ahnung hat .. (siehe erstes posting von blut)

hm und .. wenn du rows_affected willst .. dann solltest du die rückgabe des queries in ne variable schreiben .. des sind z.b. die werte die ein insert/update zurück gibt .. (ja klar n anfänger weiß das nochned)