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 07-01-2009, 16:06
Zipper5004
 Newbie
Links : Onlinestatus : Zipper5004 ist offline
Registriert seit: Oct 2007
Beiträge: 81
Zipper5004 ist zur Zeit noch ein unbeschriebenes Blatt
Standard MYSQL streikt teilweise

hallo,

also ich eine Ein Problem, und zwar möchte ich eigentlich nur, dass eine Vorhandene Datenbank gefüllt wird, es gibt 3 Felder, "id int(11), pic varchar(30), typ int(10)"

nun soll einfach nur bei id = $i
typ = 2 und pic = "$i".".png" sein, und das soll er 49 mal machen, hier mein Code:

PHP-Code:
$i 1;
$counSig 49;

while (
$i <= $counSig) {

$pic "$i".".png";

$vorhandenabfrage "SELECT * FROM `sig_aim` WHERE `id`='$i'";
  
$gogogo2 mysql_query($vorhandenabfrage);
  
$row2 mysql_fetch_object($gogogo2);
     
$id $row2->id;
     
if (
$id != $i) {
   
$eintrag "INSERT INTO sig_aim (typ, pic) VALUES ('2', '$pic')";
  
$eintragen mysql_query($eintrag) or exit(mysql_error());

    echo 
"added: $i $pic $i $style ($id)<br />";
}


  
$i++;


Es soll also nur hinzugefügt werden, wenn noch nicht vorhanden.
Es kommt nur die Fehlermeldung, dass kein Datensatz gefunden wurde, was ja beim ersten mal auch richtig ist,
Zitat:
Notice: Trying to get property of non-object in /home/www/100590/runescape/signature/aim/test.php on line 20
added: 1 1.png 1 1 ()
allerdings werden keine Daten in die db eingefügt, der "auto_increment" Wert wird aber angehoben, ich verstehe nicht, was da falsch sein könnte...

Und das komischste ist, dass gestern noch geklappt hat, da hatte ich aber die Vorhandensein noch nicht, und seit dem ich die eingebaut habe, geht es nicht mehr.
Mit Zitat antworten
  #2 (permalink)  
Alt 07-01-2009, 18:46
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard

Erstens: Warum vergleichst du die ID aus der Abfrage die du zur Prüfung des Vorhandensein machst mit der die du gerade einfügen möchtest, obwohl du das in der WHERE-Klausel ohnehin schon angegeben hast? Wäre es dann nicht einfacher zu prüfen ob ein Datensatz existiert, bspw. mit mysql_num_rows()?

Zweitens: Aus welchem Grund gehst du davon aus, dass ein neu eingefügter Datensatz automatisch die ID von $i annimmt, obwohl du das an keiner Stelle an die INSERT-Query übergibst?
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
  #3 (permalink)  
Alt 08-01-2009, 10:32
Zipper5004
 Newbie
Links : Onlinestatus : Zipper5004 ist offline
Registriert seit: Oct 2007
Beiträge: 81
Zipper5004 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von ArSeN
Erstens: Warum vergleichst du die ID aus der Abfrage die du zur Prüfung des Vorhandensein machst mit der die du gerade einfügen möchtest, obwohl du das in der WHERE-Klausel ohnehin schon angegeben hast? Wäre es dann nicht einfacher zu prüfen ob ein Datensatz existiert, bspw. mit mysql_num_rows()?

Du hast recht, ich habe diesen Weg bisher immer genommen, um zu testen, ob eine Datensatz vorhanden ist, wobei ich dann einfach immer nur geguckt habe, ob $id != "" ist.

Zitat:
Original geschrieben von ArSeN
Zweitens: Aus welchem Grund gehst du davon aus, dass ein neu eingefügter Datensatz automatisch die ID von $i annimmt, obwohl du das an keiner Stelle an die INSERT-Query übergibst?
Da hast du recht, ich habe das nicht mit aufgenommen, da der erste Datensatz die ID 1 hat, und auch $i dann 1 ist, daher habe ich das einfach so laufen lassen, da klappt auch, sofern der autoincreese Wert anfangs auf 1 steht.
Mit Zitat antworten
  #4 (permalink)  
Alt 08-01-2009, 18:44
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von Zipper5004
... sofern der autoincreese Wert anfangs auf 1 steht.
Eben, wird aber nirgens geprüft.

Zu dem Ersten nochmal: Wie was? Ob ID nicht leer ist? Na wenn du einen Datensatz gefunden hast wird der wohl eine ID haben hoffe ich, wenn deine Datenbank richtig modelliert ist. Mal andersrum gesagt: Auf anhieb sehe ich keinen Fehler zu dem ich sagen könnte "daran liegts", aber du machst alles viel komplizierter als es sein müsste. Darum möchte ich dir nahe legen, alles so einfach wie Möglich zu halten, damit man den Fehler dann besser lokalisieren kann.

Gruß
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
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 23:12 Uhr.