php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.02.2012, 00:59  
Benutzer
 
Registriert seit: 25.06.2011
Beiträge: 74
PHP-Kenntnisse:
Anfänger
DonDemf befindet sich auf einem aufstrebenden Ast
Standard MYSQL Update - Server bricht ab

Hey Leute,
ich habe 2 Tabellen. Einmal "fifa_spieler" und "fifa_spieler_2".
fifa_spieler hat circa 4tausend datensätze und fifa_spieler_2 circa 14tausend.


Die spalten sind identisch.
verein, name, vorname, starke, position, ........

Nun haben alle spieler bei fifa_spieler_2 den verein "Computer". Bei fifa_spieler sind die 4tausend Spieler schon den richtigen Vereinen zugeordnet.

Nun möchte ich die tabellen vergleichen und alle spieler von fifa_spieler_2 den richtigen Vereinen wie bei fifa_spieler zuordnen.

dann wären 4tausend spieler von fifa_spieler_2 richtig und die restlichen 10k noch bei Computer.


Habe also folgends script:

PHP-Code:
<?php

$sql 
'UPDATE 
    fifa_spieler_dondemf AS fs2,
    fifa_spieler AS fs
SET
    fs2.verein = fs.verein
WHERE
    fs2.name LIKE "%fs.name%"
    AND fs2.vorname LIKE "%fs.vorname%" 
    AND fs2.starke >= "80"'
;
    
$update mysql_query($sql);
    
    
    if(
$update==TRUE) {
        echo 
'done'; } else {
            
            echo 
mysql_error();
            echo 
$sql;
            
var_dump($update);
            
        }

?>
Habe schon probiert mit starke >= 80 das update einzuschränken, aber der server bricht permanent ab mit einem Server error 500


Jemand ne idee?
DonDemf ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.02.2012, 01:09  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

http://php.net/manual/de/function.set-time-limit.php

Tipp: Wenn du "nur" einen SQL Befehl ausführen willst mach das per Konsole auf dem Server direkt. Dann musst du dich nicht mit den Beschränkungen des HTTP Protokolls herumschlagen.

Tipp2: Lass den Like raus. Erstmal %...% ist extrem unperformant. Und wenn ein Spieler einen Doppelnamen hat und ein anderer Spieler ebenfalls einen Teil dieses Doppelnamens überschreibst du den Spieler mit dem Doppelnamen mit falschen Werten.

Beispiel:
Verein 1 | Karl-Heinz Müller-Schmidt
Verein 2 | Karl Müller

"Karl-Heinz Müller-Schmidt" wird Verein2 zugeordnet.

Tipp3: Was du da machst kannst du locker mit einem JOIN lösen. MySQL kann dein Konstrukt in einigen Fällen zwar auf einen JOIN hin optimieren, aber darauf verlassen würde ich mich nicht.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

Geändert von Dark Guardian (13.02.2012 um 01:13 Uhr).
Dark Guardian ist offline  
Alt 13.02.2012, 01:46  
meikel
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von DonDemf Beitrag anzeigen
... aber der server bricht permanent ab mit einem Server error 500
Jemand ne idee?
Jo: guck mal im error_log nach.
 
Alt 13.02.2012, 02:03  
Benutzer
 
Registriert seit: 25.06.2011
Beiträge: 74
PHP-Kenntnisse:
Anfänger
DonDemf befindet sich auf einem aufstrebenden Ast
Standard

Habe jetzt den unperfomanten Weg in der SQL Konsole probiert. Es wurde jedoch kein einziges update druchgeführt.

PHP-Code:
UPDATE 
    fifa_spieler_dondemf 
AS fs2,
    
fifa_spieler AS fs
SET
    fs2
.verein fs.verein
WHERE
    fs2
.name LIKE "%fs.name%"
    
AND fs2.vorname LIKE "%fs.vorname%"
Das mit dem Join ist nett, aber kann ich nicht nachvollziehen. Bin da nicht so bewandert auf diesem gebiet.
DonDemf ist offline  
Alt 13.02.2012, 02:58  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von DonDemf Beitrag anzeigen
Das mit dem Join ist nett, aber kann ich nicht nachvollziehen. Bin da nicht so bewandert auf diesem gebiet.
Dann bewander dich. Noob-Bonus gibt es hier nicht.

http://dev.mysql.com/doc/refman/5.1/...functions.html

http://dev.mysql.com/doc/refman/5.1/de/join.html

Da ich gerade nichts zu tun habe:

Dein LIKE-Pattern hast du als String angegeben. MySQL parsed keine Spaltennamen aus Strings heraus.
Lösung: Erzeuge einen String aus %, Spaltenwert und % und verwende diesen.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline  
Alt 13.02.2012, 10:24  
Benutzer
 
Registriert seit: 25.09.2010
Beiträge: 77
PHP-Kenntnisse:
Fortgeschritten
Raisch befindet sich auf einem aufstrebenden Ast
Standard

Forenrichtlinien und allgemeine Hinweise - Crosspostings
tutorials.de - Mysql abgleich / update

Gruß
Raisch ist offline  
Alt 13.02.2012, 11:53  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

[MOD: Close]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Thema geschlossen


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
Master/Slave Replikation von MySQL auf Windows Server Plague Datenbanken 3 11.06.2010 13:36
[Erledigt] MySQL Link Resource in einer statischen Variablen speichern Lenki PHP-Fortgeschrittene 8 18.03.2010 16:37
mysqli_multi_query lässt Eintrag aus... Samhayne Datenbanken 8 07.02.2010 19:02
[Erledigt] Update Problem wegen MySQL Version ? JanM Datenbanken 16 15.11.2009 22:35
MySQL UPDATE: Feld überall / in allen Tabellen updaten Lightware Datenbanken 13 25.09.2009 12:44
mySQL UPDATE gibt Fehler aus Tyrra PHP Tipps 2009 12 11.08.2009 18:03
MySQL Verbindung zu fremden Server Xanatus Datenbanken 5 27.05.2009 14:13
MySQL Server installieren PsychoEagle Datenbanken 6 10.08.2006 08:05
2ten mysql server installieren Jinonidi Datenbanken 6 08.04.2006 10:06
Eingaben bei: „Connect to MySQL Server Instance tumleh Datenbanken 8 25.03.2006 21:33
Can't connect to mySQL Server Datenbanken 6 11.03.2006 19:22
mysql problem: mysql update wird nicht ausgeführt schmiddy PHP Tipps 2007 4 27.12.2005 20:35
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
einfache mysql abfrage und mysql update haut nicht ganz hin djrace PHP Tipps 2005-2 6 12.08.2005 15:28
Brauch MySQL Zugriffsrechte auf einem STRATO Server??? PHP Tipps 2004 12 21.09.2004 15:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php bricht bei update mysql ab

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