"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

falscher mysql query: Fehler ned auffindbar

moidaschl 17.12.2004 - 14:11 641 12
Posts

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
Mahlzeit!

Ich versuch grad einen -einfachen- sql query auszuführen, aber anscheinend hats da was, und i kanns ned ergründen

hier is mein codeschnipsel

Code: PHP
 $sql_upcg = "SELECT Path FROM upcg";
 $result_upcg = mysql_query($sql_upcg) OR die(mysql_error());
 if(mysql_num_rows($result_upcg)) {
    while($row_upcg = mysql_fetch_assoc($result_upcg)) {
      $Path = $row_upcg['Path'];
    }
 } else {
    $Path = "FALSE";
 }
 echo "<tr><td width=\"108\">
        <a href=\"".$Path."\" class=\"menulink\"> ¬ Spieltermine</a>
       </td></tr> "; 

er gibt mir immer nur http://www.meinedomain.com/FALSE aus, allerdings schauts in meiner dbase so aus, daher müsste was drinnen stehn und ned false!

dbase.gif

mir is da klar, dass er immer meint, in meiner dbase steht nix drinnen, aber da steht was drinnen! keine ahnung warum :confused:

i hoff ihr findets den fehler, ich nämlich nicht!

(des pic aus der dbase is von meinem lokalen phpmyadmin, wo alles einwandfrei funkt)
ich hab den code am webserver 1:1 übernommen, wo es nichtmehr funkt!

tia
Bearbeitet von moidaschl am 17.12.2004, 15:03

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
Vielleicht zur Hilfe, hiermit les ich das File ein, kopiere is in einen Ordner und schreib den Pfad in die Datenbank!

Code: PHP
 if($_POST['submit']) {
   $help = 0;
   if($_FILES[tempdata][name] == "") {
     echo "<b><center>Keine Datei ausgewählt!</center></b><br \>";
     $help++;
   }
   if($_FILES[tempdata][size] > 1500000) {
     echo "<b><center>Das Bild ist leider zu groß (Dateigröße)![max 1,5mb]</center></b><br \>";
     $help++;
   }
   if($help == 0) {
      $sql = "SELECT Path FROM upcg;";
      $result = mysql_query($sql) OR die(mysql_error());
      if(mysql_num_rows($result)) {
        while($row = mysql_fetch_assoc($result)) {
         $OLDPATH = $row['Path'];
        }
      } else {
        $OLDPATH = "";
      }
    $path = "data/docs/";
    $fil3 = $path.$_FILES[tempdata][name];
    copy($_FILES[tempdata][tmp_name], $fil3);
    $sql = "UPDATE upcg SET Path = '".$fil3."'";
    mysql_query($sql) OR die(mysql_error());
    echo "<b><center>Korrekt bearbeitet!</center></b><br \>";
  }
 } 
 echo "<form action=\"index.php?main=admin&local=upcg&\" enctype=\"multipart/form-data\" method=\"POST\">\n";
 echo "<table>\n";
 echo "<tr>\n";
 echo "<td>Pfad zur Datei</td>\n";
 echo "<td><input type=\"file\" name=\"tempdata\"/></td>\n";
 echo "</tr>\n";
 echo " <tr>\n";
 echo "  <td colspan=\"2\"><input type=\"submit\" class=\"textfeld\" value=\"Updaten\" name=\"submit\"></td>\n";
 echo " </tr>\n";
 echo "</table>\n";
 echo "</form>\n";

das kopieren der datei funktioniert wunderbar, die dateien liegen fix und fertig am server.
eine ausgabe kurz bevor der pfad upgedated wird bringt auch immer das gewünschte data/docs/xxx.xx !

Hakke

Little Overclocker
Avatar
Registered: Jul 2003
Location: München
Posts: 79
Code: PHP
$sql_upcg = "SELECT Path FROM upcg";
		$result_upcg = mysql_query($sql_upcg) OR die(mysql_error()); 
if( mysql_num_rows($result_upcg)==0 ) { 
		$erg=mysql_fetch_assoc($result_upcg);
    $Path=$erg['Path'];
} else { 
    $Path = "FALSE"; 
} 
		echo "<tr><td width=\"108\"> 
        <a href=\"".$Path."\" class=\"menulink\"> ¬ Spieltermine</a> 
       </td></tr> ";

Probiers mal..

LG

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
nein, is des selbe wie vorher.. mein problem im speziellen dort ist, dass anstatt des pfades data/docs/blabla, komischerweise immer der komplette pfad der aktuellen datei angezeigt wird!
( also bei hakke's methode und wenn ich des else = FALSE ned setze! )

anschauen könnt ihr euch des hier:
http://handball-floridsdorf.askoe.or.at

unter spieltermine ist immer der link, der gerade auch in der adresszeile steht, und i weis ned wie der dort hinkommt!


update:
oke, hab mir jetz ein anderes file geschrieben und es wirklich nix drinnnen ( der hoster unterstützt kein phpmyadmin :rolleyes: )

das heist, es muss was mim input haben! ( aber local funktionierts mim selben code ! )
Bearbeitet von moidaschl am 17.12.2004, 14:43

Hakke

Little Overclocker
Avatar
Registered: Jul 2003
Location: München
Posts: 79
Wo is denn deine Verbindung zur DB? zB
Code: PHP
$conloq = mysql_connect($dbserver,$dbuser,$dbpass); 
mysql_select_db($dbname,$conloq);
Ich denk eher, dass es da schon ned passt, wenn grundsätzlich die else aufgerufen wird.
LG

//EDIT: böser vertipper:
Es muss bei mir natürlich !=0 heissen
Code: PHP
$sql_upcg = "SELECT Path FROM upcg"; 
        $result_upcg = mysql_query($sql_upcg) OR die(mysql_error()); 
if( mysql_num_rows($result_upcg)!=0 ) { 
        $erg=mysql_fetch_assoc($result_upcg); 
    $Path=$erg['Path']; 
} else { 
    $Path = "FALSE"; 
} 
        echo "<tr><td width=\"108\"> 
        <a href=\"".$Path."\" class=\"menulink\"> ¬ Spieltermine</a> 
       </td></tr> "; 
Bearbeitet von Hakke am 17.12.2004, 14:44

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
nana des passt alles :) die ganze seite funktioniert damit und hatte nie probleme mit meiner connection ;)

Hakke

Little Overclocker
Avatar
Registered: Jul 2003
Location: München
Posts: 79
Du warst zu schnell, probier mal bitte das edit.

LG

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
Zitat von Hakke
Du warst zu schnell, probier mal bitte das edit.

LG

mein standardskript geht eh, lies weiter oben, es liegt ned an der ausgabe, da wirklich nix drinnensteht !

nur des ganze funkt lokal auf meinem rechner 1A !
( also auch des einlesen! )

DKCH

...
Registered: Aug 2002
Location: #
Posts: 3280
was kriegst raus wenn du dir zb das result mit print_r ausgeben lässt?

Hakke

Little Overclocker
Avatar
Registered: Jul 2003
Location: München
Posts: 79
Sorry, dann hab ichs missverstanden. Also lokal gehts, und aufm Space ned, obwohl gleicher Code.. andere mySQL Version? Case-sensitiv passt auch alles (Tabellennamen etc)?

LG

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
print_r($result_upcg)

bringt mir als ausgabe
Resource id #5
aber i weis ned ob dir des was hilft ( i hab des lokal ausprobiert und am webserver, wobei es ja lokal funktioniert, da bekomm ich auch Resource id #5 raus! )

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
lokal: PHP Version 5.0.1
server: PHP Version 4.3.3

http://handball-floridsdorf.askoe.or.at/mysql/info.php
:)
aba meine anforderungen sind eh so trivial, i glaub da macht des 5er kan unterschied zum 4.3er :)

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
SOLVED

jetzt is mir eingeschossen, folgendes problem war:

es war alles gleich, bis auf dass ja in der lokalen datenbank schon ein eintrag vorhanden war, der upgedated werden konnte, nur in der server-datenbank, wo ich einfach nur den table erstellt hab, gab es noch keinen eintrag:

einfach einen dummy eintrag erstellt und jetzt funkts!

thx ppl für die hilfe
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz