php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.10.2005, 18:39  
Gast
 
Beiträge: n/a
Standard phpScript hängt sich auf

Wertes Forum,

folgende Situation:

Habe eine MySQL Datenbank die in einer config.db.php angesprochen wird.
Dort wird auch eine Fehlerabfrage gemacht, mit Anzeige der Fehlermeldung.

In einer anderen Datei wird die config.db.php includiert.
Und eine MySQL-Abfrage gemacht. Wenn die config.db.php nicht verbinden kann. Hängt sich das Script auf.

Wie schreibe ich das Script unten um, so das es sich nicht aufhängt.
? Fehlt dort eine If Anweisung?


PHP-Code:
<?php
// Aktuelle Berichte einbinden

// Datenbank einbinden
include("config.db.php");

// Anzahl letzten der Berichte die Angezeigt werden sollen
$anzahl="3";

//Auslesen der Datenbank

$list mysql_query("SELECT * FROM $tabelle ORDER BY time DESC LIMIT $anzahl");
while(
$row mysql_fetch_array($list)) {

 
$id $row[0];
 
$teaser $row[1];
 
$datum $row[5];


//Anzeige der Berichte

echo "[b][size="1"]$datum [/size] $teaser [/b]<a href=\"index.php?doc=berichte/berichte2005#id_$id\">[size="1"]mehr[/size]
</a>"
;

  }

?>
Danke für eure Hilfe

Michael
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.10.2005, 18:58  
Gast
 
Beiträge: n/a
Standard

binde das script doch per require() ein
 
Alt 13.10.2005, 19:14  
Gast
 
Beiträge: n/a
Standard

Die config.db.php Datei gibt zwei Möglichkeiten aus.

1. Alles ist in Ordung und die Daten für den Datenbankzugriff werden übermittelt,
oder

2. Die Fehlermeldung.

Nun wenn die Daten für den mysql_query ankommen, läuft das Script weiter.

Nur wenn die Fehlermeldung kommt dann nicht.

Also müste eine Abfrage sein sind es die Daten für den zugriff oder nicht.
Wenn nein zum Ende dieses Scriptes und wenn ja zum mysql_query.

ODER?
 
Alt 13.10.2005, 21:26  
Gast
 
Beiträge: n/a
Standard

Habe festgestellt es liegt nicht am oberen Script sondern es leigt an diesem in der config.db.php

Ich habe mit Handbuch gelesen die Funftion die bricht das php parsen ab.
Deshalb wird in der anderen php.Datei nicht weiter gemacht.

Nun wie kann mann das lösen, das trotzdem weiter geparst wird.
Jedenfalls mit "die" nicht.

Sondern?



PHP-Code:
<?php

//Datenbank Connect

$db = @mysql_connect($host$user$password)
          or die (
"Verbindungsaufnahme zum Datenbankserver fehlgeschlagen!
"
);
        @
mysql_select_db($database$db)
        or die (
"- Datenbank wurde [b]NICHT[/b] gefunden.
- Verbindungsaufnahme zum Datenbankserver war erfolgreich!
"
);

//Datenbank Connect ENDE

?>
 
Alt 13.10.2005, 21:33  
Gast
 
Beiträge: n/a
Standard

natürlich nicht mit die(), die() ist ja dazu da das parsen abubrechen, du kannst das ganze wenn dann so schreiben:
PHP-Code:
<?php
if (!($db = @mysql_connect($host$user$password))) echo 'Verbindungsaufnahme zum Datenbankserver fehlgeschlagen!
'
;
if (@
mysql_select_db($database$db)) echo '- Datenbank wurde [b]NICHT[/b] gefunden.
- Verbindungsaufnahme zum Datenbankserver war erfolgreich!
'
;
?>
natürlich die if-abfrage am besten über den ganzen teil, wo du auf die db zugreifst, anwenden, sonst werden ja alle fehlermeldungen ausgegeben
 
Alt 13.10.2005, 21:48  
Gast
 
Beiträge: n/a
Standard

Irgendwie habe ich das mit den if-Schleifen noch nicht verstanden.

Jedenfall hat es nicht geklappt, oder was ist mit der if-abrage gemeint.

Nun die Fehlermeldungen sollen nur ausgegeben werden, wenn ein Fehler auftritt sonst nicht.

Die erste Prüfung soll natürlich sein ist ein Zugriff auf den mysql server überhaupt möglich.
Danach natürlich, ob überhaupt die Datenbank vorhanden ist.

Dies soll in der config.db.php stehen. Da ich es mehrfach auf der website brauche.
Das obrige Script macht die Abfrage, und wird wiederum in eine Seite eingebunden.
 
Alt 13.10.2005, 21:50  
Gast
 
Beiträge: n/a
Standard

huch, die zweite abfrage ist natürlich falsch, so muss sie aussehen:
PHP-Code:
<?php
if (!(@mysql_select_db($database$db))) echo '- Datenbank wurde [b]NICHT[/b] gefunden.
- Verbindungsaufnahme zum Datenbankserver war erfolgreich!
'
;
?>
 
Alt 13.10.2005, 21:57  
Gast
 
Beiträge: n/a
Standard

Danke für die Hilfe.

Muss natürlich den Text der zweiten Abfrage noch anpassen. Da so einmal Nein, Nein und Ja steht.

Das stimmt natürlich nicht.

Ist ja nur Nein und Nein.

Wenn Zugriff zu MySQL nicht steht.

Nun noch etwas, für was steht eigendlich das "!" und das "@"?
 
Alt 13.10.2005, 22:01  
Gast
 
Beiträge: n/a
Standard

das @ hast du ja selbst verwendet, aber trotzdem => fehlerunterdrückung
das ! invertiert die aussage, sprich aus TRUE wird FALSE und umgekehrt
 
Alt 13.10.2005, 22:46  
Gast
 
Beiträge: n/a
Standard

Ha jetzt ja,

danke für die mithilfe.
 
 


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
Kein phpscript hat Zugriff außerhalb seines Ordners Server, Hosting und Workstations 3 14.03.2006 21:19
templatevariable mit phpscript ersttzen... tonne PHP Tipps 2006 5 12.03.2006 10:14
Spalte leeren per phpscript für Lotto Datenbanken 8 05.03.2006 17:18
Optionen aus PHPScript Url entfernen PHP Tipps 2005-2 10 07.07.2005 12:49
phpscript auführen ohne neuladen der Seite ? PHP Tipps 2004 2 16.08.2004 11:33
PhpScript im Iframe PHP Tipps 2004 22 31.07.2004 11:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php script hängt, php script hängt sich auf, ein skript hängt google, php script server hängt, php script hängt nach beenden

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:05 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.