SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 31.01.2009, 15:34:14
KeinenPlan KeinenPlan ist offline
Anfänger
 
Registriert seit: Jan 2009
Alter: 45
Beiträge: 57
Warum funktioniert SELECT COUNT im PHP-Skript nicht?

Ich arbeite in einer Datenbank mit 2 Tabellen!

Über die erste Tabelle(Fotos) greife ich auf den Serverpfad hochgeladener Bilder zu, in der zweiten Tabelle(Projekte) sind diverese Projektdaten erfasst.

Bei dem Upload eines Bildes soll jetzt realisiert werden, dass direkt das entsprechende Projekt(sofern schon Projekte vorhanden sind) dem Bild zugeordnet werden kann.

Also muss ich ja vorab überprüfen, ob in der Tablle Projekte schon Datensätze vorhanden sind!


Zunächst hab ich folgenden Code versucht:
PHP-Code:
    $selectquery 'SELECT COUNT(projekt_id) FROM Projekte';
    
$selecterg mysql_db_query($db_name$selectquery$verbindung);
    
$projektda $selectquery;

    if (
$projektda 0)
    {
      
//mache was
    


Da dieses Sckript nicht funktionierte habe ich mir mal den Werte von $projektda anzeigen lassen und erhielt als Ausgabe ein Blank(also keinen Wert).
Dies konnte jedoch nicht sein, da 1 Datensätz definitiv vorhanden ist!


Also hab ich folgende Abänderung vorgenommen:
PHP-Code:
    $selectquery 'SELECT projekt_id FROM Projekte_test';
    
$selecterg mysql_db_query($db_name$selectquery$verbindung);
    
$projektda count($selecterg);
    
    if (
$projektda 0)
    {
      
//mache was
    

Und siehe da plötzlich gibt $projekte den korrekten Wert 1 zurück!


Da ich die Selectanweisung meines ersten Versuches 1:1 aus einem Handbuch übernommen habe und die Syntax korrekt ist, kann ich nicht logisch nachvollziehen warum $selectquery = 'SELECT COUNT(projekt_id) FROM Projekte'; bei mir nicht funktioniert hat!

Ich ersuche hiermir um eine verständliche Erklärung!
Mit Zitat antworten
  #2  
Alt 31.01.2009, 18:22:21
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Warum funktioniert SELECT COUNT im PHP-Skript nicht?

Zitat:
if ('SELECT COUNT(projekt_id) FROM Projekte'> 0)
Kann nie TRUE werden!!
Mit Zitat antworten
  #3  
Alt 31.01.2009, 19:32:19
KeinenPlan KeinenPlan ist offline
Anfänger
 
Registriert seit: Jan 2009
Alter: 45
Beiträge: 57
AW: Warum funktioniert SELECT COUNT im PHP-Skript nicht?

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Kann nie TRUE werden!!
Ah und warum bitte schön nicht?

Aus einem MySQL-Handbuch:
SELECT COUNT(feldname) FROM tabelle zählt die Datensätze, bei denen das angegebene Feld einen Wert besitzt, also NOT NULL ist.

In meinem Beispiel, wo 1 Datensatz vorhanden ist und das Besagte Feld den Wert 1 hat, muss doch in beiden Fällen für die Selects 1 zurückgeben werden, womit die if-Abfrage auch beidemale TRUE sein müsste!
Mit Zitat antworten
  #4  
Alt 31.01.2009, 20:41:10
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Warum funktioniert SELECT COUNT im PHP-Skript nicht?

Schau dir doch mal ganz aufmerksam den Datenfluß an....
Du würfelst da völlig sinnfrei mit den Variablen!
So ca, als wenn du den Finger in eine Gasflamme hältst und sagst: "Au! Jau, da sind 220 Volt drauf !"



Am Rande:
mysql_db_query() sollte nicht mehr verwendet werden.
Mit Zitat antworten
  #5  
Alt 01.02.2009, 14:29:49
KeinenPlan KeinenPlan ist offline
Anfänger
 
Registriert seit: Jan 2009
Alter: 45
Beiträge: 57
AW: Warum funktioniert SELECT COUNT im PHP-Skript nicht?

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Schau dir doch mal ganz aufmerksam den Datenfluß an....
Du würfelst da völlig sinnfrei mit den Variablen!
So ca, als wenn du den Finger in eine Gasflamme hältst und sagst: "Au! Jau, da sind 220 Volt drauf !"



Am Rande:
mysql_db_query() sollte nicht mehr verwendet werden.
OK habe verstanden was du meinst! Bei der ersten Variant mit dem SELECT COUNT fehlt eine entsprechende Anweisung um SELECT-Ergebnis sinnvoll zu verarbeiten.

Zu vergleichen mit $projektda = count($selecterg); in der zweiten Variante.

In meiner Naivität hatt ich angenommen das, wenn schon in der SELECT-Anfrage die Felderanzahl gezählt wird, das entsprechende Zählergebnis schon zur direkten Weiterverarbeitung bereit steht.

Ich wollte eben genau diese Zeile aus dem zweiten Bespiel $projektda = count($selecterg); ersparen! ^^

Wenn ich mir aber die List der verfügbaren MYSQL-Funktionen anschaue, finde ich keine, die mir das Ergebnis der SELECT COUNT-Anfrage sinnvoll weiterverarbeiten kann!


Ach ja wegen deiner Anmerkung zu mysgl_db_query() muss ich sagen, dass ich das so aus nem PHP-Kurs den ich mal besucht hab kennen gelernt und sie funktioniert doch noch immer!

Aber OK! Wie müsste ich an meiner dbconnect.php5 abändern, damit es auch ohne mysgl_db_query() funktioniert; also das gewährleistet ist, dass die richtige DB geöffnet ist?

PHP-Code:
<?php
// Prüfungsroutine, ob ein Zugriff zu MySQL-Datenbank möglich ist!
$db_ort="bla";
$db_user="blabla";
$db_pass="blablabla";
$db_name="blablablabla";

$verbindung=@mysql_connect($db_ort,$db_user,$db_pass);

if (!
$verbindung) {
// Benachrichtigungsmail senden
$mailinhalt="ACHTUNG!!! Der MySQL-Server auf www.muster.de ist ausgefallen! Nutzer kommt nicht auf die Datenbank!";
mail("admin@muster.de","Problem beim Zugriff auf den SQL-Srver",$mailinhalt,"From: admin@muster.de");

// Bildschirmausgabe
echo '<font face="Arial, Helvetica, sans-serif" size="5"><b>SORRY!</b><p>Aufgrund eines Serverproblems ist zur Zeit keine Verbindung zu der erforderlichen Datenbank m&ouml;glich.</p><p>Bitte versuchen Sie es zu einem sp&auml;teren Zeitpunkt erneut!</p></font>';
exit;
}
?>
Mit Zitat antworten
  #6  
Alt 01.02.2009, 17:08:43
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: Warum funktioniert SELECT COUNT im PHP-Skript nicht?

http://de3.php.net/manual/de/function.mysql-connect.phpHier stehts, wie man sich mit einer MySql DB verbindet.
Mit Zitat antworten
  #7  
Alt 01.02.2009, 17:11:10
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Warum funktioniert SELECT COUNT im PHP-Skript nicht?

Zitat:
OK habe verstanden was du meinst! Bei der ersten Variant mit dem SELECT COUNT fehlt eine entsprechende Anweisung um SELECT-Ergebnis sinnvoll zu verarbeiten.
Richtig, du kopierst einfach den inhalt einer variable von a nach b. soll php automatisch zeichenketten nach gültigen sql-statements durchsuchen, diese ausführen (dabei erraten, welche datenbank gemeint ist) und das ergebnis dann zurück geben?

Zitat:
Wenn ich mir aber die List der verfügbaren MYSQL-Funktionen anschaue, finde ich keine, die mir das Ergebnis der SELECT COUNT-Anfrage sinnvoll weiterverarbeiten kann!
Komisch, ich schon:

PHP-Code:
$sql "select count(id) as amount from table";
$qry mysql_query($sql);
$row mysql_fetch_array($qry);
echo 
$row['amount']; 
alles analog zu anderen select-statements.

Geändert von feuervogel (01.02.2009 um 19:53:21 Uhr) Grund: mysql_fetch_row zu mysql_fetch_array geändert, danke DLH
Mit Zitat antworten
  #8  
Alt 01.02.2009, 17:25:26
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Warum funktioniert SELECT COUNT im PHP-Skript nicht?

@phönix
Jetzt noch mysql_fetch_array() statt mysql_fetch_row(), dann kann das was werden!

@KeinenPlan
Zitat:
OK habe verstanden was du meinst!
Sicherlich nicht!!


Zitat:
Aber OK! Wie müsste ich an meiner dbconnect.php5 abändern, damit es auch ohne mysgl_db_query() funktioniert; also das gewährleistet ist, dass die richtige DB geöffnet ist?
Irgendwie scheinst du doppelt zu sein.....
Du machst sowohl meinem als auch deinem Usernamen voll die Ehre!
Bitte erarbeite dir die Grundlagen. Es ist einfach nur fürchterlich, wie oft und heftig du daneben liegst.

Geändert von DokuLeseHemmung (01.02.2009 um 17:26:31 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Blöde Frage zu SELECT COUNT Fichte MySQLi/PDO/(MySQL) 8 20.11.2003 09:11:11
To Many Connections ProGamer11 PHP Grundlagen 0 18.06.2003 23:52:56
php ini_set('variables_order', 'ES'); funktioniert auch nicht FourSix PHP für Fortgeschrittene und Experten 3 27.03.2003 13:25:49
MySQL - ORDER BY RAND() und PHP MacMarc PHP Grundlagen 15 05.12.2002 22:23:39
Einführung in PHP und Datenbanken Lómion PHP für Fortgeschrittene und Experten 7 07.02.2002 13:47:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:52:28 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt