Frage zu Pop Ups mit Details

Du treibst mich wirklich in den Wahnsinn, weisst du das ? Ein wenig self-debugging wäre evtl. ganz ratsam. :mad:

Das man mysql_funktionen um ein "or die(mysql_error())" ergänzen sollte (zumindest in der Entwicklungszeit) um mögliche Fehler zu lokalisieren ist dir schon bewusst ?
 
nein war mir eigentlich nicht bewussst wie oben schon gesagt ich bin php sorry das ich noch nicht alles weiss...

ich bekomme jetzt Parse error: parse error, unexpected T_LOGICAL_OR in /home/schatten/www/home/ccg/liga/memberinfo.php on line 15
 
Zuletzt bearbeitet:
Original geschrieben von Tim Comanns
Ein wenig self-debugging wäre evtl. ganz ratsam. :mad:

Versuch doch den Ratschlag von Tim mal, so lernt man außerdem am besten. Nicht bei jedem kleinem Problem fragen. Denken und Lösung finden, wenn es dann nicht klappt, Forum fragen!
 
so hab jetzt das "or die(mysql_error())" eingebaut der Fehler wurde mir ausgegeben und ich hab versucht das zu beheben bekomm es aber net hin... er gibt mir jetzt den Fehler

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/schatten/www/home/ccg/liga/memberinfo.php on line 15
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

wenn ihr mir nicht helfen wollt ok versteh ich

die memberinfo.php sieht zur Zeit so aus

PHP:
<?php

$host = "localhost";
$user = "---";
$password = "---";
$dbname = "---";
$tabelle ="teams";

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "SELECT * from $tabelle WHERE teamname = $_GET['user']";

$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);

$ausgabe = mysql_fetch_array ($result)
or die(mysql_error());
print ("
<table width=450 border=0 cellspacing=0 cellpadding=0>
<tr>
                    <td width=21>$ausgabe[id]</td>
                      <td width=121>$ausgabe[teamname]</td>
                      <td width=166>$ausgabe[homepage]</td>
                      <td width=102>$ausgabe[leader]</td>
                    </tr>
</table>
<br>

");
mysql_close ($dbverbindung)
?>

und als ausgabe File habe ich das Script von EngelchenB das er/sie mir gepostet hat

PHP:
<HTML>
<SCRIPT>
function memberinfo(user){
      window.open("memberinfo.php?user="+user,"memberinfo","height=300, width=400");
}
</SCRIPT>
<BODY>
<a href="javascript:memberinfo('test')">test</a>
</BODY>
</HTML>

den user test gibt es auch in der db also daran liegts net
 
Zuletzt bearbeitet:
mhhh ich mach die querys von der art halt meist anderst weil ich den connect von der query trenne... also kannst mal so testen wenns dann immernoch net geht dann teste ich das wirklich gleich nochmal.....

PHP:
<?php

$host = "localhost";
$user = "---";
$password = "---";
$dbname = "---";
$tabelle ="teams";


$link = @mysql_connect($host, $user, $password);
if ( ! $link ) die("Keine Verbindung zu MySQL"); //Keine Verbindung... Script abbrechen

mysql_query("use ".$dbname ); // Table auswählen

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage =mysql_query("SELECT * from $tabelle WHERE teamname = $_GET['user']");

$ausgabe = mysql_fetch_array ($dbanfrage);
or die(mysql_error());

echo"<table width=450 border=0 cellspacing=0 cellpadding=0>\n";
echo "<tr>\n";
echo "<td width=21>".$ausgabe['id']."</td>\n";
echo "<td width=121>".$ausgabe['teamname']."</td>\n";
echo "<td width=166>".$ausgabe['homepage']."</td>\n";
echo "<td width=102>".$ausgabe['leader']."</td>\n";
echo "</tr>\n";
echo "</table>\n";

mysql_close ($dbverbindung)
?>
 
Zuletzt bearbeitet:
Das hat nichts mit wollen oder nicht wollen zu tun, das ist schlichtweg unsinnig, weil der Betroffene nichts dadurch lernt, wenn man ihm Codes vorbetet. Aber weil ich grade etwas Zeit habe und dir zeigen möchte, wie du es in Zukunft selbst lösen kannst, schlage ich dir vor, du nutzt folgenden Code, der zusätzlich zu den schlichten Fehlermeldungen genug Ausgaben erzeugt, damit du selbst auf den richtigen Weg kommst.

edit: Ich sehe grade, Engelchen hat auch was geschrieben, da sie (?) Aber mysql_query() nicht auf Fehler hin abfängt, bringt das ganze meiner Meinung nach recht wenig.

PS: Wie du in meinem Quelltext sehen wirst, verwende ich mysql_connect() um bis zum Ende des Scripts eine DB-Verbindung herzustellen, die nach der Verarbeitung des Scripts automatisch geschlossen wird (das mysql_close() könnte man sich also sparen).
Wie du es machst, einen Connection-Handler zu übergeben, macht meines Erachtens nach nur Sinn, wenn du in einem Script mit mehreren Datenbankverbindungen parallel arbeitest, was ja eigentlich nicht der Fall sein sollte.
PHP:
<?php
$host = "localhost";
$user = "---";
$password = "---";
$dbname = "---";
$tabelle ="teams";

mysql_connect($host, $user, $password) or die("Verbindung zur Datenbank konnte nicht hergestellt werden: ".mysql_error());
mysql_select_db($dbname) or die("Datenbank konnte nicht ausgewählt werden".mysql_error());

$dbanfrage = "SELECT * FROM ".$tabelle." WHERE `teamname` = '".$_GET['user']."' LIMIT 1";
if($result = @mysql_query($dbanfrage) {
    $ausgabe = mysql_fetch_array ($result);
    
    $out = "<table width=\"450\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    $out .= "<tr>";
    $out .= "<td width=\"21\">".$ausgabe['id']."</td>";
    $out .= "<td width=\"121\">".$ausgabe['teamname']."</td>";
    $out .= "<td width=\"166\">".$ausgabe['homepage']."</td>";
    $out .= "<td width=\"102\">".$ausgabe['leader']."</td>";
    $out .= "</tr></table><br>";
    
    echo $out;
}
else {
    echo "Es ist ein Fehler aufgetreten:<br />".mysql_error()."<br /><br />Das zugehörige Query war:<br />".$dbanfrage;
}
mysql_close();
?>
 
also erstmal thx engelchen das du mir hilfst... du hattest ein paar kleine Schreibfehler drinnen die hab ich alle ausgebessert aber es kommt jetzt wieder

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/schatten/www/home/memberinfo.php on line 19
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Das ausgebesserte Script

PHP:
<?php 

$host = "localhost"; 
$user = "---"; 
$password = "---"; 
$dbname = "---"; 
$tabelle ="teams"; 


$link = @mysql_connect($host, $user, $password); 
if ( ! $link ) die("Keine Verbindung zu MySQL"); //Keine Verbindung... Script abbrechen 

mysql_query("use ".$dbname ); // Table auswählen 

$dbverbindung = mysql_connect ($host, $user, $password); 

$dbanfrage = mysql_query("SELECT * from $tabelle WHERE teamname = $_GET['user']"); 

$ausgabe = mysql_fetch_array ($dbanfrage)
or die(mysql_error()); 

echo "<table width=450 border=0 cellspacing=0 cellpadding=0>\n"; 
echo "<tr>\n"; 
echo "<td width=21>".$ausgabe['id']."</td>"; 
echo "<td width=121>".$ausgabe['teamname']."</td>n"; 
echo "<td width=166>".$ausgabe['homepage']."</td>n"; 
echo "<td width=102>".$ausgabe['leader']."</td>n"; 
echo "</tr>n"; 
echo "</table>n"; 

mysql_close ($dbverbindung) 
?>

Es hat sicher was mit dem teamname = $_GET['user'] zu tun nur was da falsch ist weis ich net
 
Zuletzt bearbeitet:
Warum glaubst du fange ich in meinem Code Beispiel die Fehler ab und gebe sie zusammen mit dem Query aus ? Weil du dann sehen würdest das dein Query so nicht funktioniert.

PHP:
$dbanfrage = mysql_query("SELECT * from $tabelle WHERE teamname = $_GET['user']");
Du kannst nicht einfach mitten in einen String eine Variable einbauen die auch nocht Singlequotes in den Elementklammern nutzt und dann erwarten, dass der PHP Parser das richtig interpretiert.
Ausserdem fehlen in deinem MySQL Query die Singlequotes um die Variable, sonst würde er nach einer anderen Spalte in der Tabelle suchen, die den Wert von $_GET['user'] hat.

Also, wie in meinem Quelltext das Query zuerst in einer Variable speichern.
PHP:
$query = "SELECT * FROM ".$tabelle." WHERE teamname = '".$_GET['user']."'";
$result = mysql_query($query);
 
Mhhh Entschuldigung hatt ich was übersehen o_O

Ich hatte den Code auch nur hier im Forum geschrieben und nicht noch großartig durchgetestet. Meist kommt es ja auch mehr auf die Struktur an...

Nadann: Entschuldige ich mich ausgiebieg... *seufz*
 
großes thx an alle es funktioniert jetzt! Also war ich schon mal nicht so schlecht dran ich dachte mir das es was mit dem $_GET['user'] zu tun hat - nochmal thx an alle!
 
Zurück