Hi Thomas!
Das liegt vermutlich eher an der Datenbankperformance des Providers.
Wem sagst Du das.....
Achso, dann ist ja langsam noch immer schnell ...
Ich habe gerade mit 'ner Firma zu tun, die einen Business-Tarif bei diesem Anbieter nutzt und fuer 88,- DM im Monat mal locker 8 Wochen warten durfte, bis die schon lange hochgeladenen Seiten sichtbar waren ...
Naja, dazu braucht man nicht viel sagen, bei uns waren die Seiten mal 4 Tage durchgehend kpl. down! Aber solange ich noch nicht genau weiß was ich langfristig will(NT/UNIX, MySQL/MSQL, gehosteter oder eigener Server...) weiß ich nicht so recht weiter, naja.
Verwende von PHP aus:
mysql_select_db("DBXXXXX",$link);
Kann man die Verbindung nicht irgendwie offen lassen, mit mysql_pconnect?
Kann bei haeufigen Zugriffen Sinn machen, probiere es einfach aus.
Hat es Sinn diese Variablen mit include einzubinden?
Ja, aber dann bevorzugt aus einem Verzeichnis, welches nicht im DocumentRoot liegt.
OK, habe folgendes Script per Include eingebunden(Warum soll das in einem anderen Verzeichnis liegen?):
<?php
$Host= "rdbms.strato.de";
$User= "xxxxy";
$Passw= "xxxy";
$DB= "DBxxxy";
$vk=@mysql_connect($Host,$User,$Passw)
or die ("die Verbindungsaufnahme ist gescheitert!");
@mysql_select_db($DB,$vk)
or die ("die Verbindungsaufnahme ist gescheitert!");
function getError($myError,$myErrno) {
echo "Bei dem Versuch einen Datensatz auszulesen ist ein Fehler aufgetreten.<br>\nFehler-Nummer:<b>".$myErrno."</b>
<br>\nFehler-Ausgabe:<b>".$myError."</b>";
}
?>
Im Warenkorb steht dann z.B.
include ("verbindung.php");
$query = "SELECT * FROM Warenkorb";
$res = mysql_query($query, $vk);
$row=mysql_fetch_row($res)
und immer über $row[0]... auslesen.
Die SQL-Abfragen sind beschränke ich immer auf das nötigste.
Wenn ich einen Datensatz aktualisiere, z.B. habe ich einen link um die Anzahl um 1 zu erhöhen, der Link schickt die Variable ID des Datensatzes mit, eigentlich könnte ich das mit den Sessions dann auch lassen, oder? ist ja eindeutig. Jedenfalls wird dann diese Script aufgerufen und per meta refresh sofort wieder der Warenkorb, dauert bei mir nur einen Bruchteil einer Sekunde, bei Strato superlange:
<?php
@session_start();
?>
<html>
<head>
<meta http-equiv="refresh" content="0; URL=warenkorb.php">
<?
include ("verbindung.php");
if (!mysql_query($query, $vk))
die("Datenbank test existiert nicht.<br>\n");
$update = "UPDATE Warenkorb SET Anzahl = Anzahl-1 WHERE ID = '$ID' AND PHPSESSID = '$PHPSESSID'";
$res= mysql_query($update, $vk);
?>
Wenn ich die Verbindung öffne, wird die so am längsten offen gehalten? muß ich dann jedesmal trotzdem per Include neu einbinden, denn auch da muß jedesmal eine neue Datei geladen werden, daas dauert auch ein bisschen, genau so weiß cih nicht, wie ich die Aktualisierungsanfrage aus meinem obigen Script auch direkt im Warenkorb durchführen könnte! Hast Du da eine Idee?
Ja ich weiß, zemlich viel aufeinmal, jetzt kann ma aber dafür besser verstehen wo bei mir die Probleme liegen.
Vielen Dank im voraus
Andreas