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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
16.01.2006, 13:22:51
|
Anfänger
|
|
Registriert seit: Jan 2006
Beiträge: 13
|
|
SQL-Abfrage klappt auf dem lokalen Server aber nicht beim Provider
Folgender Code klappt ohne Probleme auf dem lokalen Sever aber beim Provider nicht:
...
PHP-Code:
$email=$HTTP_POST_VARS["email"];
$sql="SELECT COUNT( email ) FROM users WHERE email='$email'";
$rs=mysql_query($sql,$dbref);
$anzahl=mysql_fetch_row($rs);
if($anzahl[0]>0){
$sql="UPDATE users SET name='$name',vorname='$vorname',strasse='$strasse',plz='$plz',stadt='$ort',land='$land',telefon='$telefon' WHERE email='$email'";
}else{
$sql="INSERT INTO users (name, vorname ,email,strasse,plz,stadt,land,telefon) VALUES ('$name','$vorname','$email','$strasse','$plz','$ort','$land','$telefon')";
}
Ich habe die Einstellungen für mysql in der php.ini beim Provider und auf dem lokalen Sever verglichen. Sie sind identisch!!!
kann mir jemand vielleicht helfen?
Danke!
Geändert von jonathan (16.01.2006 um 14:29:49 Uhr)
|
16.01.2006, 13:59:33
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: SQL-Abfrage klappt auf dem lokalen Server aber nicht beim Provider
Was heißt "geht nicht"? Was sagt mysql_error()? Lass dir die Abfragen mal anzeigen. Sieht die Ausgabe wie erwartet aus? Außerdem benutze bitte die php-Tags des Boards, um deinen Quellcode farblich darzustellen.
Geändert von xabbuh (16.01.2006 um 14:00:00 Uhr)
|
16.01.2006, 14:33:12
|
Anfänger
|
|
Registriert seit: Jan 2006
Beiträge: 13
|
|
AW: SQL-Abfrage klappt auf dem lokalen Server aber nicht beim Provider
1.ich bekomme keine Error-Meldungen
2.auf dem lokalen Server wird bei gleichen Bedingungen (email in der tabelle bereits vorhanden) UPDATE-Befehl ausgeführt, beim Provider der I NSERT-BEfehl.
d.H. im ersten Fall gibt COUNT 1 zurück im zweiten aber 0.
3. die Abfragen habe ich mir ausgeben lassen. Die Ausgaben sehen wie erwartet aus.
Geändert von jonathan (16.01.2006 um 14:34:24 Uhr)
|
16.01.2006, 15:47:58
|
Anfänger
|
|
Registriert seit: Dec 2005
Beiträge: 9
|
|
AW: SQL-Abfrage klappt auf dem lokalen Server aber nicht beim Provider
Dieses Problem hatte ich auch mal, seit dem schreibe ich alle Tabellen- und Feldnamen mit einem ` eingeschlossen. In deinem Fall würde folgende Zeile so aussehen:
PHP-Code:
$sql="INSERT INTO `users` (`name`, `vorname`, `email`, `strasse`, `plz`, `stadt`, `land`, `telefon`) VALUES ('$name', '$vorname', '$email', '$strasse', '$plz', '$ort', '$land', '$telefon')";
Ob es nun wirklich daran liegt, kann ich dir aber leider auch nicht sagen.
|
16.01.2006, 16:17:19
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: SQL-Abfrage klappt auf dem lokalen Server aber nicht beim Provider
Zitat:
Zitat von jonathan
2.auf dem lokalen Server wird bei gleichen Bedingungen (email in der tabelle bereits vorhanden) UPDATE-Befehl ausgeführt, beim Provider der I NSERT-BEfehl.
d.H. im ersten Fall gibt COUNT 1 zurück im zweiten aber 0.
|
Dann lass dir mal die SELECT-Abfrage, mit der du prüfst, ob ein Datensatz existiert, ausgeben. Hat dieser die erwartete Form? Ist die Variable, die die E-Mailadresse enthalten soll möglicherweise leer? Möglicherweise hat dein Provider die veralteten $_HTTP_*_VARS deaktiviert ( register_long_arrays). Stattdessen solltest du besser die superglobalen Arrays verwenden.
|
16.01.2006, 16:39:02
|
Anfänger
|
|
Registriert seit: Jan 2006
Beiträge: 13
|
|
AW: SQL-Abfrage klappt auf dem lokalen Server aber nicht beim Provider
Die "SELECT"-Abfrage sieht wie erwartet aus. Die Email-Variable ist nicht leer (SELECT COUNT( email ) FROM users WHERE email='user@test.de').
$_HTTP_POST_VARS habe ich gegen $_POST ausgetauscht. Klappt trotzdem nicht.
Gibt es irgendwelche Einstellungen bei php.ini oder bei der Datenbank, die hier mitspielen können??????
Geändert von jonathan (16.01.2006 um 16:40:13 Uhr)
|
16.01.2006, 17:03:33
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: SQL-Abfrage klappt auf dem lokalen Server aber nicht beim Provider
Und welche Ausgabe erhälst du mit print_r($anzahl)?
|
16.01.2006, 17:07:39
|
Anfänger
|
|
Registriert seit: Jan 2006
Beiträge: 13
|
|
AW: SQL-Abfrage klappt auf dem lokalen Server aber nicht beim Provider
haqt sich erledigt.
Der Grund lag darin, dass die länge beim Feld email auf dem Provider-Server zu kurz eingestellt wurde und die Email-Adresse wahnsinnig lang war (34 zeichen). Die 4 letzten zeichen wurden abgeschnitten und die Email aus dem Formular natürlich nicht gefunden.
Shame on me!
Danke für die Mühe und Unterstützung.
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:27:15 Uhr.
|