problem beim zusammenspiel mit DB

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Andy120
Mitglied
Beiträge: 3430
Registriert: 02.01.2004 11:21
Wohnort: Basel (Schweiz)
Kontaktdaten:

problem beim zusammenspiel mit DB

Beitrag 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...
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag 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:
Zuletzt geändert von Blutgerinsel am 03.08.2004 17:40, insgesamt 1-mal geändert.
Benutzeravatar
Andy120
Mitglied
Beiträge: 3430
Registriert: 02.01.2004 11:21
Wohnort: Basel (Schweiz)
Kontaktdaten:

Beitrag 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
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

http://dev.mysql.com/doc/mysql/de/mysql_connect.html
Bei deiner Verbindung fehlen Host, User und PW..
Benutzeravatar
Andy120
Mitglied
Beiträge: 3430
Registriert: 02.01.2004 11:21
Wohnort: Basel (Schweiz)
Kontaktdaten:

Beitrag 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);

???
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag 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);
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Sry wegen dem Link, hatte einen anderen wohl noch in der Zwischenablage welcher besondere Rechte erfordert.........

Schön das es geht....
Benutzeravatar
Andy120
Mitglied
Beiträge: 3430
Registriert: 02.01.2004 11:21
Wohnort: Basel (Schweiz)
Kontaktdaten:

Beitrag 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
Benutzeravatar
k-5
Mitglied
Beiträge: 166
Registriert: 05.06.2003 23:21
Wohnort: soa kaff
Kontaktdaten:

Beitrag 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)
ich will mein auto polieren ! ..

ja .. ich weiß .. man kann das mit nem lappen machen .. aber ICH will unbedingt nen hammer nehmen .. WIE geht das :)
Antworten

Zurück zu „Coding & Technik“