falscher mysql query: Fehler ned auffindbar

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/falscher_mysql_query_fehler_ned_auffindbar_132256/page_1 - zur Vollversion wechseln!


moidaschl schrieb am 17.12.2004 um 14:11

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


moidaschl schrieb am 17.12.2004 um 14:18

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 schrieb am 17.12.2004 um 14:23

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 schrieb am 17.12.2004 um 14:33

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 ! )


Hakke schrieb am 17.12.2004 um 14:39

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> "; 


moidaschl schrieb am 17.12.2004 um 14:43

nana des passt alles :) die ganze seite funktioniert damit und hatte nie probleme mit meiner connection ;)


Hakke schrieb am 17.12.2004 um 14:44

Du warst zu schnell, probier mal bitte das edit.

LG


moidaschl schrieb am 17.12.2004 um 14:46

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 schrieb am 17.12.2004 um 14:50

was kriegst raus wenn du dir zb das result mit print_r ausgeben lässt?


Hakke schrieb am 17.12.2004 um 14:52

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 schrieb am 17.12.2004 um 14:54

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 schrieb am 17.12.2004 um 14:56

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 schrieb am 17.12.2004 um 15:03

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




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025