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 ::

Das Zend Framework

Das Zend Framework 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 > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 05.12.2003, 13:48:50
Viburnum opulus Viburnum opulus ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 8
Query doppel!?

Ich habe folgendes extrem merkwürdige Problem


PHP-Code:
function inputnews($uberschrift$newstext){
    
$qer54 "INSERT INTO `news` SET `uberschrift`='$uberschrift', `newstext`='$newstext', `autor`='$bla[0]', `datum`=NOW();";
    
$anf54 mysql_query($qer54);
    echo 
mysql_error();



Soweit ich verstehe korrekt, nun für er diese Query aber zweimal aus, einmal mit den übergebenen Parametern ($newstext,...) und ein zweitesmal ohne diese Parameter, er fügt also die richtige Zeile und eine leere Zeile (bis aufs datum) in die tabelle ein.

Nun könnte man denken, er ruft die Function 2mal auf, aber dies habe ich mit nem echo "test"; überprüft und dies ist nicht der Fall.
Mit Zitat antworten
  #2  
Alt 05.12.2003, 14:38:40
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
Hi Viburnum opulus

Erst mal willkommen.

Die Funktion selbst führt das SQL nur einmal aus.

Daher vermute ich mal das sie 2mal aufgerufen wird.
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #3  
Alt 05.12.2003, 16:06:14
Viburnum opulus Viburnum opulus ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 8
Zitat:
Original geschrieben von Nev
Hi Viburnum opulus

Erst mal willkommen.

Die Funktion selbst führt das SQL nur einmal aus.

Daher vermute ich mal das sie 2mal aufgerufen wird.

wie gesagt um das zu testen habe ich ja echo "test"; eingefügt, folglich müsste bei einem doppelaufruf auch zweimal "test" auf dem bildschirm erscheinen, tut es aber eben nicht!
Mit Zitat antworten
  #4  
Alt 05.12.2003, 16:09:46
Ben20
Guest
 
Beiträge: n/a
Das was Du vorhast ist kein Insert sondern ein Update - wahrscheinlich versucht mysql das irgendwie hinzubiegen und fügt deshalb zwei Zeilen ein (einen für Update, einen für Insert)

Wenn Du das einfügen willst geht das so:

INSERT INTO news (uberschrift, newstext, ...) VALUES('$uberschrift', '$newstext', ...)
Mit Zitat antworten
  #5  
Alt 05.12.2003, 16:16:18
Viburnum opulus Viburnum opulus ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 8
Zitat:
Original geschrieben von Ben20
Das was Du vorhast ist kein Insert sondern ein Update - wahrscheinlich versucht mysql das irgendwie hinzubiegen und fügt deshalb zwei Zeilen ein (einen für Update, einen für Insert)

Wenn Du das einfügen willst geht das so:

INSERT INTO news (uberschrift, newstext, ...) VALUES('$uberschrift', '$newstext', ...)
Nein beide Schreibweisen sind bei MySQL erlaubt. Habe auch die andere probiert, selbes Problem.

Auch mit Apache, PHP und MySQL ist alles in Ordnung, andere Scripts laufen perfekt.
Mit Zitat antworten
  #6  
Alt 05.12.2003, 16:44:49
Viburnum opulus Viburnum opulus ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 8
Habe jetz nochmal den kompletten Quelltext auskommentiert, der nix mit der Funktion zu tun hat, Immernoch dieser Fehler. scheint so als ob php intern diese Funktion zweimal startet. Im Apachelog steht leider kein Fehler drin.

Im Table-Dump sehe ich auch nichts ungewöhnliches:
Code:
CREATE TABLE news (
  id tinyint(4) NOT NULL auto_increment,
  uberschrift text NOT NULL,
  newstext text NOT NULL,
  autor text NOT NULL,
  datum date default NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;

Sie sehen einen verdammt doof guckenden Info-Studenten :(
Mit Zitat antworten
  #7  
Alt 05.12.2003, 17:02:45
Ben20
Guest
 
Beiträge: n/a
Hm, seltsam, seltsam. Vielleicht ein wenig mehr Quelltext mal posten, evtl. sieht mans dann!
Mit Zitat antworten
  #8  
Alt 05.12.2003, 17:19:09
Viburnum opulus Viburnum opulus ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 8
http://wuw-server.kicks-ass.net/sqlproblem.txt

das is der rest den ich nicht auskommentiert habe. nicht mehr viel, aber scheinbar immernoch fehlerhaft....

achja das ding läuft auf nem WIN2k Server
Mit Zitat antworten
  #9  
Alt 05.12.2003, 18:16:04
Viburnum opulus Viburnum opulus ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 8
verstehe nicht wieso, aber nu gehts.

folgendes geändert, falls es jemanden interessiert

die daten an die Funktion wurden über nen Formular geschickt.
dies hatte die form
Code:
<form action="index.php?show=inputnews&PHPSESSID=<? echo session_id(); ?>&menushow=3" method="post">
daraus machte ich einfach

Code:
<form action="index.php" method="post">
<input type="hidden" name="menushow" value="3">
<input type="hidden" name="PHPSESSID" value="".session_id()."">
<input type="hidden" name="show" value="inputnews">
für mich macht das keinen sinn, aber nun gut
Mit Zitat antworten
  #10  
Alt 05.12.2003, 22:55:01
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
@Ben20
Viburnum opulus hat recht, du kannst Insert's auch so schreiben.
Ich finde diese Schreibweise auch um einiges besser bzw. schöner.

Du kannst ein Insert auch so schreiben:
Code:
INSERT INTO news VALUES('$uberschrift', '$newstext', ...)
das ist die schlimmste!!

Da wenn du nun ein Feld hinzufügst, funkt das SQL ned mehr.

Set ist um einiges schöner.


@Viburnum opulus
Wenn du im Form-Tag in der Action Variablen übergibst, kannst du diese mit $_GET abfragen, obwohl die Method POST ist!!

Da die Action ja, dann auch in der Adress-Zeile steht.

Kann ich dir auch ned empfehlen, ist nicht gerade sicher.
Post zwar auch ned, aber ist um einiges schwerer zu umgehn!
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:58:39 Uhr.


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


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