php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 23-07-2008, 22:16
Zipper5004
 Newbie
Links : Onlinestatus : Zipper5004 ist offline
Registriert seit: Oct 2007
Beiträge: 81
Zipper5004 ist zur Zeit noch ein unbeschriebenes Blatt
Standard db ändert nichts

Hallo, ich habe ein Problem, und zwar kann ich nichts aus der db aktuallisieren, aber das komische ist, dass es schon updaten kann, wenn ich den update befehl vor dem "while" command machen, aber alle ipdate/eintrag o.ä. befehle, die nach while kommen, werden ignoriert, woran kann das liegen?

Fehlermeldungen gibt es keine, und hier die SQL Tabelle:



und hier mein code:

PHP-Code:
<?php

include("../dbconnect.php");

$abfrageee "SELECT * FROM ge_item ORDER BY id";
$ergebnisss mysql_query($abfrageee);

while(
$row mysql_fetch_object($ergebnisss))
    {
    
$id $row->id;
    
$item_id $row->item_id;
    
$item_name $row->item_name;


$url "http://itemdb-rs.runescape.com/l=1/viewitem.ws?obj="."$item_id";;

$test file_get_contents($url);

$start '<b>Marktpreis:</b>';
$ende '</span>';
if ( (
$posStart strpos($test$start)) !== false)
{
if ( (
$posEnd strpos($test$ende$posStart+strlen($start))) !== false)
$preis substr($test$posStart+strlen($start),$posEnd-($posStart+strlen($start)));
}


$preis $preis 1000;

$aendern "UPDATE ge_item Set
item_price = '$preis' WHERE id = '$id'"
;
$update mysql_query($aendern);


echo 
"($id"."->"."$item_id)$item_name $preis GP<br>";

}

echo 
"-done-";
Eigentlich sollte das script auf die $url gehen, und dort den Wert auslesen, welcher nach "<b>Marktpreis:</b>" folgt, das geht so weit auch, es liest alles perfekt aus, und kann es auch darstellen, nur es speichert es nicht in der db. Hier das, was es richtigerweise ausgibt:

(1->2505)Blaudrachenleder 2160 GP
(2->1745)Gründrachenleder 1794 GP
(3->2499) Blaudrachen-Harnisch 5370 GP
(4->1135) Gründrachen-Harnisch 4444 GP
-done-

Geändert von Zipper5004 (25-07-2008 um 12:07 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 23-07-2008, 23:18
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://www.php-resource.de/forum/sho...threadid=47906
Mit Zitat antworten
  #3 (permalink)  
Alt 24-07-2008, 23:59
Zipper5004
 Newbie
Links : Onlinestatus : Zipper5004 ist offline
Registriert seit: Oct 2007
Beiträge: 81
Zipper5004 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

so besser?
Mit Zitat antworten
  #4 (permalink)  
Alt 25-07-2008, 09:19
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nein, lies halt die Regeln nochmals
__________________
Gruss
H2O
Mit Zitat antworten
  #5 (permalink)  
Alt 25-07-2008, 12:07
Zipper5004
 Newbie
Links : Onlinestatus : Zipper5004 ist offline
Registriert seit: Oct 2007
Beiträge: 81
Zipper5004 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

so, alles in [PHP], war das gemeint?
Mit Zitat antworten
  #6 (permalink)  
Alt 25-07-2008, 12:45
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das war auch gemeint. Und error_reporting(). Und mysql_error(). Und das Einrücken des Codes. Und die Ausgabe der evaluierten Abfrage.
Wenn man das berücksichtigt, dann dürfte das etwa so aussehen:
PHP-Code:
error_reporting(E_ALL);
include(
"../dbconnect.php");

$abfrageee "
    SELECT
        id,
        item_id,
        item_name
    FROM 
        ge_item 
    ORDER BY 
        id"
;
$ergebnisss mysql_query($abfrageee) or exit(mysql_error());

while(
$row mysql_fetch_object($ergebnisss)){
    
$id $row->id;
    
$item_id $row->item_id;
    
$item_name $row->item_name;

    
$url "http://itemdb-rs.runescape.com/l=1/viewitem.ws?obj=$item_id";

    
$test file_get_contents($url);

    
$start '#<b>Marktpreis:</b>\s*(\d+\.?\d*)#Ums';
    if (
preg_match($start$test$found)){
        
$preis $found[1];
    }
    else{
        
$preis 0;
    }
    
$preis $preis 1000;

    
$aendern "UPDATE ge_item
                SET    item_price = $preis 
                WHERE id = $id"
;
    echo 
"$aendern<br />";            // TESTAUSGABE
    
$update mysql_query($aendern) or exit(mysql_error());

    echo 
"($id" "->" "$item_id)$item_name $preis GP<br />";
}
echo 
"-done-"
und wahrscheinlich die entscheidenden Hinweise geben, warum es nicht funktioniert. Mindestens hast du dann aber die Abfrage, die du in irgendeinem SQL-Monitor testen kannst.
__________________
Gruss
H2O

Geändert von H2O (29-07-2008 um 08:58 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 26-07-2008, 15:37
Zipper5004
 Newbie
Links : Onlinestatus : Zipper5004 ist offline
Registriert seit: Oct 2007
Beiträge: 81
Zipper5004 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

UPDATE ge_item SET item_price = 0 WHERE id = 1
MySQL server has gone away

Geändert von Zipper5004 (26-07-2008 um 21:03 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 27-07-2008, 21:53
Zipper5004
 Newbie
Links : Onlinestatus : Zipper5004 ist offline
Registriert seit: Oct 2007
Beiträge: 81
Zipper5004 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

bump
Mit Zitat antworten
  #9 (permalink)  
Alt 28-07-2008, 08:41
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Falls das die einzigen Meldungen sind, dann zeig mal, was in der "../dbconnect.php" steht, es scheint hier ein Verbindungsproblem zu geben (falls der MySQL-Server überhaupt aktiv ist).
Und dann würde ich jeweils auch noch überprüfen, ob es die entsprechende Seite, die du abrufst, überhaupt gibt. Ich weiss, dass z.B. diejenige mit der ID 1 nicht existiert.
__________________
Gruss
H2O
Mit Zitat antworten
  #10 (permalink)  
Alt 28-07-2008, 13:57
Zipper5004
 Newbie
Links : Onlinestatus : Zipper5004 ist offline
Registriert seit: Oct 2007
Beiträge: 81
Zipper5004 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

dbconnect.php
PHP-Code:
<?php
$host 
"localhost";     //Host der Datenbank
$user "phost92191";          // Benutzername
$password "*******";  //Passwort
$datenbank "phost92191";       //Datenbankname

mysql_connect($host$user$password);  // Connect zur DB
mysql_select_db($datenbank);             // Auswaehlen der DB
?>
die selbe datei nutze ich auch bei anderen funktionen, wo es einwandfrei funktioniert. hab mal meine fehlermeldung gegoogled und da stand häufig was mit timeout, allerdings was mit 8h.

Kann es sein, dass es daher nicht funktioniert, weil die seite ca 2min zum laden braucht? (der server, wo ich die daten herhohle ist recht langsam...)

naja und klar gibts einen eintrag mit der id, siehe datenbank tabelle im ersten post?
Mit Zitat antworten
  #11 (permalink)  
Alt 28-07-2008, 14:13
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Die Abfrage auf mysql_error() gilt auch für das Verbinden und das Auswählen der Datenbank. Überprüfe also, ob die Verbindung überhaupt existiert.

Und ich habe nicht gesagt, dass der Eintrag mit der ID 1 nicht in deiner DB existiert, sondern es gibt keinen Gegenstand mit der ID 1 auf der Seite, Seite, wo du die Daten holen willst
__________________
Gruss
H2O
Mit Zitat antworten
  #12 (permalink)  
Alt 28-07-2008, 16:10
Zipper5004
 Newbie
Links : Onlinestatus : Zipper5004 ist offline
Registriert seit: Oct 2007
Beiträge: 81
Zipper5004 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

er sucht auf der seite auch den eintrag mit $item_id, und den gibts auf jeden fall, zumal er ja die richtigen werte auch ausliest.

Zitat:
Die Abfrage auf mysql_error() gilt auch für das Verbinden und das Auswählen der Datenbank. Überprüfe also, ob die Verbindung überhaupt existiert.
aber ich verwende die selbe dbconnect datei auch für andere seiten, auf dem gleichen server, muss es dann nicht richtig sein?
Mit Zitat antworten
  #13 (permalink)  
Alt 28-07-2008, 16:36
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Zipper5004
er sucht auf der seite auch den eintrag mit $item_id
Ich weiss einfach, dass zur Seite mit item_id 1 nichts gefunden wird (dargestellt wird sie schon). Du kannst das ja ganz einfach überprüfen, indem du sie mal manuell aufrufst. Aber das war ja auch nur ein Hinweis und hat nichts mit dem Problem zu tun.

Zitat:
Original geschrieben von Zipper5004
aber ich verwende die selbe dbconnect datei auch für andere seiten, auf dem gleichen server, muss es dann nicht richtig sein? [/B]
Die Fehlerbehandlung sollte trotzdem immer vorhanden sein. Aber du kannst ja jetzt zuerst eine Antwort schreiben, oder das ausprobieren. Ich glaube das Zweite wäre schneller gemacht.
__________________
Gruss
H2O
Mit Zitat antworten
  #14 (permalink)  
Alt 28-07-2008, 18:29
Zipper5004
 Newbie
Links : Onlinestatus : Zipper5004 ist offline
Registriert seit: Oct 2007
Beiträge: 81
Zipper5004 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sorry, ich hätte nicht so doof gefragt, wenn ich gewusst hätte, was du meinst, bzw wie man das testet, mein fehler ich hätte mich besser ausdrücken sollen.

http://itemdb-rs.runescape.com/l=1/viewitem.ws?obj=2505

Seite existiert, und wird auch mit inhalt gefüllt
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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