php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.02.2009, 10:48  
Neuer Benutzer
 
Registriert seit: 05.02.2009
Beiträge: 5
sunny1311 befindet sich auf einem aufstrebenden Ast
Standard Problem bei der Erstellung einer Galerie

Einen Wunderschönen Sonntag Morgen wünsche ich euch.

Mein Sonntag Morgen ist mir derzeit gründlich vermiest worden, denn derzeit bastel ich an einer Galerie, allerdings spielen zwei Seiten so ziemlich verrückt und zeigen mir folgende Warnungen an:

Galerie_menu.php
Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\galerie_menu.php on line 11

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\galerie_menu.php on line 13
Keine Daten vorhanden!
Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\galerie_menu.php on line 22

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\galerie_menu.php on line 23
Keine Daten vorhanden! » »


Der Quellcode dazu:
PHP-Code:
<?php
$ja
=$_POST['ja'];
$ordner=$_POST['ordner'];
$verzeichnis=$_POST['verzeichnis'];
$jahr=$_POST['jahr'];
$text=$_POST['text'];
$galerie=$_POST['galerie'];


$v_abfrage "SELECT * FROM galerie_ordner WHERE id='".$ordner."' ORDER BY id ASC";
$v_ergebnis=mysql_db_query($db,$v_abfrage,$verbindung);
  if (
mysql_errno()) die ("MySQL-Error: " mysql_error());
if(
mysql_num_rows($o_ergebnis)== 0)
{
         echo
"Keine Daten vorhanden!";
}else
{
while(
$row mysql_fetch_object($o_ergebnis))
     {
$verzeichnis=$row->verzeichnis$o_titel=$row->titel;}
}
$v_abfrage "SELECT * FROM galerie_verzeichnis WHERE id='".$verzeichnis."'";
$v_ergebnis=mysql_db_query($db,$v_abfrage,$verbindung);
if(
mysql_num_rows($v_ergebnis)== 0)
{
         echo
"Keine Daten vorhanden!";
}else
{

while(
$row mysql_fetch_object($v_ergebnis))
     {
$v_titel=$row->titel; }
}
echo
"<span class='chap'><a href='?section=archiv&jahr=$jahr&menu=$menu'><b>$jahr » $v_titel » $o_titel</b></a></span><br><br>";
?>


und die dazugehörige Galerie_menu2.php mag mich auch nicht folgende Fehlermeldungen:
Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\galerie_menu2.php on line 6

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\galerie_menu2.php on line 8

Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\galerie_menu2.php on line 16

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\galerie_menu2.php on line 17

Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\galerie_menu2.php on line 21

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\galerie_menu2.php on line 22

» »

Und hierzu einmal der Quellcode:
PHP-Code:
<?php
$id 
$_GET['id'];


$o_abfrage "SELECT * FROM galerie_bilder WHERE id='$v_id'";
$o_ergebnis=mysql_db_query($db,$o_abfrage,$verbindung);
  if (
mysql_errno()) die ("MySQL-Error: " mysql_error());
while(
$row mysql_fetch_object($b_ergebnis))
     {
     
$ordner=$row->ordner;
     
$b_titel=$row->titel;
     }

$o_abfrage "SELECT * FROM galerie_ordner WHERE id='$ordner'";
$o_ergebnis=mysql_db_query($db,$o_abfrage,$verbindung);
while(
$row mysql_fetch_object($o_ergebnis))
     {
$verzeichnis=$row->verzeichnis$o_titel=$row->titel;}

$v_abfrage "SELECT * FROM galerie_verzeichnis WHERE id='$verzeichnis'";
$v_ergebnis=mysql_db_query($db,$v_abfrage,$verbindung);
while(
$row mysql_fetch_object($v_ergebnis))
     {
$v_titel=$row->titel$archiv=$row->archiv;}

echo
"<head><title>$archiv » $v_titel » $o_titel</title>
<style type=\'text/css\'><!--
body {
   background-color: #E5E8ED;
   font-family: Tahoma;
   font-size: 9pt;
   color: #18333F;
   }
a:link {font-family: Tahoma; color: #18333F; text-decoration: none;}
a:visited {font-family: Tahoma; color: #536E7A; text-decoration: none;}
a:hover {cursor:hand; font-family: Tahoma; color: #37525D; text-decoration: none;}
a:active {font-family: Tahoma; color: #18333F; text-decoration: none;}

-->
</style>
</head>
<body>
<center><b>$archiv » $v_titel » $o_titel</b>"
;
?>


Ich habe den gesamten Vormittag mit Fehlerbekämpfung verbracht und bin mit meinem Latein echt mehr als am Ende und hoffe das einer meine Dummheiten die ich da angestellt hab ausbügeln kann...

Herzliche Grüße

Sarah
sunny1311 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.02.2009, 11:16  
Erfahrener Benutzer
 
Benutzerbild von JanM
 
Registriert seit: 22.12.2003
Beiträge: 788
PHP-Kenntnisse:
Fortgeschritten
JanM ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Die Fehler erscheinen wenn die Datenbank leer ist. Also z.B.
Code:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\galerie_menu.php on line 13Keine Daten vorhanden!
bedeutet das die Datenbank leer ist und er keine Einträge zählen kann.

Wenn du ein @ vor die Funktionen schreibst werden diese Fehler nichtmehr angezeit.

mfg
__________________

Statistik
JanM ist offline  
Alt 15.02.2009, 11:28  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Nein, wenn das result set leer ist, wäre trotzdem die mysql resource gültig.

Zitat:
$v_ergebnis=mysql_db_query($db,$v_abfrage,$verbindung );
if (mysql_errno()) die ("MySQL-Error: " . mysql_error());
if(mysql_num_rows($o_ergebnis)== 0)
{
echo"Keine Daten vorhanden!";
}else
{
while($row = mysql_fetch_object($o_ergebnis))
David ist offline  
Alt 15.02.2009, 11:36  
Neuer Benutzer
 
Registriert seit: 05.02.2009
Beiträge: 5
sunny1311 befindet sich auf einem aufstrebenden Ast
Standard

super besten dank =)
Die Warnung sind jetzt weg aber jetzt hab ich festgestellt das der die Bilder nicht in die DB schreibt und ich wiederml überfragt bin....
(Hab den Quellcode von einem lehrer bekommen und der meinte das sollte so klappen, aber es kalppt nix)

PHP-Code:
<?php
include("config.inc.php");
$verbindung=mysql_connect($dbhost,$dbuser,$dbpasswd);

$ja=$_POST['ja'];
$ordner=$_POST['ordner'];
$verzeichnis=$_POST['verzeichnis'];
$jahr=$_POST['jahr'];
$text=$_POST['text'];
$galerie=$_POST['galerie'];

$verzeichnis str_replace("ä","a",$verzeichnis);
$verzeichnis str_replace("ö","o",$verzeichnis);
$verzeichnis str_replace("ü","u",$verzeichnis);
$verzeichnis str_replace(" ","_",$verzeichnis);

$ordner str_replace("ä","a",$ordner);
$ordner str_replace("ö","o",$ordner);
$ordner str_replace("ü","u",$ordner);
$ordner str_replace(" ","_",$ordner);


if(
$ja!="ja" OR $ordner==""){
echo
"
<span class='chap'><b><center>Bild hochladen</span>
<form action='neu.php' enctype='multipart/form-data' method='post'>
<table align=center cellpadding=1 cellspacing=1 border=0 width='450'>
 <tr>
  <td colspan='2' align='center'><input type='file' name='Datei' accept='image/*'></td>
 </tr>
 <tr>
  <td><b>Ordner:</b></td>
  <td><select name='ordner'>
    <option value=''>Bitte wählen</option>"
;

  
$menu31a "SELECT * FROM galerie_ordner ORDER BY verzeichnis, id ASC ";
  
$menu41a=mysql_db_query($db,$menu31a,$verbindung);
  while(
$row mysql_fetch_object($menu41a))
  {
$titel=$row->titel$id=$row->id$verzeichnis=$row->verzeichnis;

          
$menu31b "SELECT * FROM galerie_verzeichnis WHERE id='$verzeichnis'";
          
$menu41b=mysql_db_query($db,$menu31b,$verbindung);
          while(
$row mysql_fetch_object($menu41b))
          {
$verzeichnis_titel=$row->titel;

  echo
"<option value='$id'>$row->archiv » $verzeichnis_titel » $titel</option>";
           }
  }
  echo
"</select></td>
 </tr>
 <tr>
  <td><b>Text:</b></td>
  <td><input type='text' name='text'></td>
 </tr>
 <tr>
  <td><b>Galerie Bild:</b></td>
  <td><select name='galerie'>
    <option value=''>Nein</option>
    <option value='ja'>Ja</option>
    </select></td>
 </tr>
 <tr>
  <td colspan='2' align='center'>
   <input type='hidden' name='ja' value='ja'>
   <input type='submit' value='Hochladen'>
  </td>
 </tr>
</table>
</form>"
;
}else{

  
$abfrage "SELECT * FROM galerie_bilder WHERE ordner='$ordner'";
  
$ergebnis=mysql_db_query($db,$abfrage,$verbindung);
  
$number mysql_num_rows($ergebnis);
$number=$number+1;

$datum time();
$datum date("d.m.y"$datum);


$menu31b "SELECT * FROM galerie_ordner WHERE id='$ordner'";
$menu41b=mysql_db_query($db,$menu31b,$verbindung);
 while(
$row mysql_fetch_object($menu41b))
          {
$verzeichnis=$row->verzeichnis;}
$menu31b "SELECT * FROM galerie_verzeichnis WHERE id='$verzeichnis'";
$menu41b=mysql_db_query($db,$menu31b,$verbindung);
 while(
$row mysql_fetch_object($menu41b))
          {
$jahr=$row->archiv;}

$neuname "$jahr-$verzeichnis-$ordner$number.jpg";
$datei=$_FILES['Datei']['tmp_name'];
$move=move_uploaded_file($_FILES['Datei']['tmp_name'], "../bilder/".$neuname);

if(
$move==true)
{
function 
thumb_popup($file$save$width$height$prop TRUE) {
    if(!
function_exists("show_popup")) {
        function 
show_popup($original$thumb) {
            
$infos = @getimagesize($original);
            
$w $infos[0] + 40;
            
$h $infos[1] + 40;
            
$infos_th = @getimagesize($thumb);
        }
    }
    if(!
file_exists($save) || @filemtime($thumb)< @filemtime($file)) {
        @
unlink($save);
        
$infos = @getimagesize($file);
        if(
$prop) {
            
$iWidth $infos[0];
            
$iHeight $infos[1];
            
$iRatioW $width $iWidth;
            
$iRatioH $height $iHeight;
            if (
$iRatioW $iRatioH)
            {
            
$iNewW $iWidth $iRatioW;
            
$iNewH $iHeight $iRatioW;
            } else {
            
$iNewW $iWidth $iRatioH;
            
$iNewH $iHeight $iRatioH;
            }
        } else {
            
$iNewW $width;
            
$iNewH $height;
        }

        if(
$infos[2] == 2) {
            
// Bild ist vom Typ jpg
            
$imgA imagecreatefromjpeg($file);
            
$imgB imagecreatetruecolor($iNewW,$iNewH);
            
imagecopyresampled($imgB$imgA0000$iNewW,
                               
$iNewH$infos[0], $infos[1]);
            
imagejpeg($imgB$save);
            return 
show_popup($file$save);
        } elseif(
$infos[2] == 3) {
            
// Bild ist vom Typ png
            
$imgA imagecreatefrompng($file);
            
$imgB imagecreatetruecolor($iNewW$iNewH);
            
imagecopyresampled($imgB$imgA0000$iNewW,
                               
$iNewH$infos[0], $infos[1]);
            
imagepng($imgB$save);
            return 
show_popup($file$save);
        } else {
            return 
FALSE;
        }
    } else {
        return 
show_popup($file$save);
    }
}


$from "../bilder/$neuname";
$to1 "../bilder/klein/$neuname";
echo 
thumb_popup($from$to1100100TRUE);

$eintrag "INSERT INTO galerie_bilder
  (ordner, text, url, datum, galerie) VALUES
  ('$ordner', '$text', '$neuname', '$datum', '$galerie')"
;
$eintragen mysql_db_query($db,$eintrag,$verbindung);

  
$eintrag2 "UPDATE galerie_ordner SET datum='$datum' WHERE id='$ordner'";
  
$eintragen2 mysql_db_query($db,$eintrag2,$verbindung);

echo 
"
<table border=0 cellpadding=4 cellspacing=1 align='center'>
 <tr>
  <td><img src='../bilder/$neuname'>
  <br><br><b><a href='neu.php'>Bild hochladen</a></b></td>
 </tr>
</table>
</form> "
;
}else{echo
'Der Upload war leider <u>nicht</u> erfogreich!';}

}
?>
sunny1311 ist offline  
Alt 15.02.2009, 11:51  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Das kann etwas dauern....
Also zuerst solltest Du nur einmal die Datenbank mit mysql_select_db() auswählen und dann mysql_query() statt mysql_db_query() verwenden
Zitat:
Zitat von http://uk.php.net/mysql_db_query
Version Description
5.3.0 This function now throws an E_DEPRECATED notice.
4.0.6 This function is deprecated, do not use this function. Use mysql_select_db() and mysql_query() instead.
PHP-Code:
$verbindung=mysql_connect($dbhost,$dbuser,$dbpasswd) or die(mysql_error());
mysql_select_db($db$verbindung)  or die(mysql_error()); 
Wenn Du Zeichenketten in eine SQL-Abfrage einbaust, musst Du diese Zeichenkette absichern (siehe PHP: SQL Injection - Manual).


Zitat:
$ja=$_POST['ja'];
$ordner=$_POST['ordner'];
$verzeichnis=$_POST['verzeichnis'];
$jahr=$_POST['jahr'];
$text=$_POST['text'];
$galerie=$_POST['galerie'];
Nicht direkt falsch, aber an dieser Stelle unnötig. Ich würde unnötige Variablendeklarationen (gerade im globalen Namensraum) vermeiden wo möglich.

Zitat:
PHP-Code:
$menu31a "SELECT * FROM galerie_ordner ORDER BY verzeichnis, id ASC ";
  
$menu41a=mysql_db_query($db,$menu31a,$verbindung);
  while(
$row mysql_fetch_object($menu41a))
  {
$titel=$row->titel$id=$row->id$verzeichnis=$row->verzeichnis;

          
$menu31b "SELECT * FROM galerie_verzeichnis WHERE id='$verzeichnis'";
          
$menu41b=mysql_db_query($db,$menu31b,$verbindung);
          while(
$row mysql_fetch_object($menu41b))
          {
$verzeichnis_titel=$row->titel;

  echo
"<option value='$id'>$row->archiv » $verzeichnis_titel » $titel</option>";
           }
  } 
$menu31b, $menu41b ...da schaut sehr schnell keiner mehr durch
Immer wenn Du eine SQL Abfrage innerhalb einer while(...mysql_fetch...) hast, solltest Du Dich fragen "Kann ich das nicht auch einfacher & besser mit einem JOIN lösen" (Die Antwort ist nicht immer Ja, aber oft).
Kennst Du Dich mit JOIN aus?
David ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Basedir in PhP cmuch05 Datenbanken 9 08.01.2009 14:17
Problem mit Benutzerrechten nach Thumbnail erstellung Arguss PHP Tipps 2008 8 08.12.2008 22:24
[Erledigt] Problem: PHP Selbe Datei mehr als 1 Mal soulan PHP Tipps 2008 13 28.11.2008 22:51
png erstellung mit php problem superbub PHP Tipps 2008 10 22.11.2008 02:58
Problem Upload mehrere Dateien und schreiben in DB Lapje PHP Tipps 2008 1 22.10.2008 13:12
utf8 Problem (Daten aus DB auslesen) go1denboy PHP Tipps 2008 1 23.09.2008 12:19
Problem mit swfobjects R4v3r JavaScript, Ajax und mehr 8 21.09.2008 14:17
[Erledigt] Galerie - Bilder nebeneinander Problem noOx PHP Tipps 2008 14 03.07.2008 23:48
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Galerie code problem PHP Tipps 2004 1 29.09.2004 10:35
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql_fetch_object(): supplied argument is not a valid mysql result resource in c:\\xampp\\htdocs, mysql_db_query(): 8 is not a valid mysql-link resource in /, mysql_db_query number, bildergalerie xampp php code, bildergallerie php quellcode, select where \mysql_db_query\ \while\ \mysql_fetch_object\ problem leer

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:17 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum