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 19-08-2010, 20:17
Spunk95
 Registrierter Benutzer
Links : Onlinestatus : Spunk95 ist offline
Registriert seit: Jul 2010
Beiträge: 95
Spunk95 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard Daten werden nicht gespeichert

Hi, ich bins wieder
Bin übrigens bis jetzt sehr zufrieden und glücklich über die Hilfe die ich hier bekommen habe, vielen Dank dafür

Zu meinem neuen Problem:
Bei manchen SQL Anfragen werden die Daten einfach nicht gespeichert, bei anderen schon. Es kommt keine Fehlermeldung, es scheint alles zu klappen, aber die Daten werden nicht eingetragen..

Hier ein Beispiel (Es geht um eine Bewertung):

Das Formular:

PHP-Code:
<form action="index.php?s=creation&id=<?echo $cid?>&add=vote" method="post">
                            <select name="vote">
                                <option value="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>
                                <option value="1">1</option>
                                <option value="2">2</option>
                                <option value="3">3</option>
                                <option value="4">4</option>
                                <option value="5">5</option>
                                <option value="6">6</option>
                                <option value="7">7</option>
                                <option value="8">8</option>
                                <option value="9">9</option>
                            </select>
    <input type=submit id="settings_box_vote" name="submit" value="Vote">
    </form>

Der Insert Code:
PHP-Code:
if($_GET["add"] == "vote")
     { 
          if (
$_POST["vote"] != "")
          {
      
                  
$sql_vote "INSERT INTO votes (from, stars, cid)
                  VALUES ('"
.$username."', '".$_POST["vote"]."', '".$cid."')";
                  
mysql_query($sql_vote);
                  echo 
"Vote eingetragen";
          }
          else
          {
              echo 
"Kein Vote angegeben";
          }
    } 
Die Datenbank sieht so aus:

id int(30) Nein Kein AUTO_INCREMENT from varchar(30) latin1_swedish_ci Nein Kein
stars varchar(3) latin1_swedish_ci Nein Kein
cid varchar(30) latin1_swedish_ci Nein Kein
deleted varchar(3) latin1_swedish_ci Nein 0

Hab ein Bild angehängt


Ich hab mir den Code jetzt seit Tagen angeschaut, aber ich komm nicht auf den Fehler

Ich hoffe jemand von euch findet ihn, vielen Dank im Vorraus
Miniaturansicht angehängter Grafiken
Daten werden nicht gespeichert-bildschirmfoto-2010-08-19-um-20.19.07.png  

Geändert von Spunk95 (19-08-2010 um 20:20 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 19-08-2010, 20:21
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Wenn der INSERT fehl schlägt, meldet MySQL einen Fehler. Du aber ignorierst dieses.
Dein Code ist (höchstwahrscheinlich) anfällig für SQL Injections.
Wenn du die unterbindest, dann sollte auch das Speichern zuverlässig klappen.

Tipp:
mysql_error()
mysql_real_escape_string()
__________________
Wir werden alle sterben
Mit Zitat antworten
  #3 (permalink)  
Alt 19-08-2010, 20:29
Spunk95
 Registrierter Benutzer
Links : Onlinestatus : Spunk95 ist offline
Registriert seit: Jul 2010
Beiträge: 95
Spunk95 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von combie Beitrag anzeigen
Wenn der INSERT fehl schlägt, meldet MySQL einen Fehler. Du aber ignorierst dieses.
Dein Code ist (höchstwahrscheinlich) anfällig für SQL Injections.
Wenn du die unterbindest, dann sollte auch das Speichern zuverlässig klappen.

Tipp:
mysql_error()
mysql_real_escape_string()
Danke für die schnelle Antwort, habs keider noch nicht ganz verstanden
Soll ich noch ne if Anfrage einbauen, für denn Fall, dass es Fehlschlägt? Die beiden Tipps kenn ich nicht so gut, hab ich noch nice benutzt Aber ich denke mal du meinst es so oder?

PHP-Code:
if (!isset ($sql_vote)){
 echo 
mysql_error($sql_vote);


Geändert von Spunk95 (19-08-2010 um 20:41 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 19-08-2010, 20:32
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
PHP-Code:
if (!isset ($sql_vote)){ 
 echo 
mysql_error($sql_votes); 

Quatsch!

Warum schaust du nicht mal ins Handbuch?
__________________
Wir werden alle sterben
Mit Zitat antworten
  #5 (permalink)  
Alt 19-08-2010, 20:42
Spunk95
 Registrierter Benutzer
Links : Onlinestatus : Spunk95 ist offline
Registriert seit: Jul 2010
Beiträge: 95
Spunk95 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hab grade in das PHP Handbuch hier geschaut (oder welches meinst du?)... Aber da hab ich dazu nichts gefunden. Ich weiß auch nicht genau wonach ich suchen soll
Find ich den Fehler nun wenn ich ihn ausgeben lasse oder anders?
Mit Zitat antworten
  #6 (permalink)  
Alt 19-08-2010, 20:58
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Was sagt das Handbuch zu mysql_query() ?

Richtig, es liefert bei einem erfolgreichen Insert True und bei einem fehlgeschlagenen False!
Prüfe das!
Nutze das!
Lasse dir im Fehlerfall den Fehler mit mysql_error() zeigen.

mysql_real_escape_string() mittlerweile eingebaut?
Nein?
Warum nicht?
Tue das.

Zitat:
Find ich den Fehler nun wenn ich ihn ausgeben lasse
Solange du das ignorierst, wirst du ihn nicht finden.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #7 (permalink)  
Alt 19-08-2010, 21:05
Spunk95
 Registrierter Benutzer
Links : Onlinestatus : Spunk95 ist offline
Registriert seit: Jul 2010
Beiträge: 95
Spunk95 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Die Fehlermeldung:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from, stars, cid) VALUES ('Spunk', '1', '3')' at line 1

mysql_real_escape_string() werd ich mir jetzt durchlesen, also was das ist
Danke
Mit Zitat antworten
  #8 (permalink)  
Alt 19-08-2010, 21:16
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
near 'from
from ist ein reserviertes Wort!
Siehe: "SELECT bla FROM blub"

Es ist also keine gute Idee dieses Wort als Spaltennamen zu verwenden. MySQL ist allerdings gnädig und erlaubt es den Begriff in Backticks zu setzen.

Zitat:
mysql_real_escape_string() werd ich mir jetzt durchlesen, also was das ist
Ja, das solltest du tun!
Und nicht nur lesen, sondern auch einsetzen!
__________________
Wir werden alle sterben

Geändert von combie (19-08-2010 um 21:19 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 19-08-2010, 21:28
Spunk95
 Registrierter Benutzer
Links : Onlinestatus : Spunk95 ist offline
Registriert seit: Jul 2010
Beiträge: 95
Spunk95 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Du bist ein Held!

Hab mysql_real_escape_string() jetzt eingebaut und vor allem from in from_user umbenannt und jetzt funktioniert es

Vielen vielen Dank
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Daten werden in mysql nicht gespeichert! warum ??? t-stude SQL / Datenbanken 4 28-10-2008 21:17
Probleme mit Daten, die per UPDATE gespeichert werden sollen sanktusm PHP Developer Forum 1 09-05-2006 20:53
daten nach leerzeichen werden nicht gespeichert retomue PHP Developer Forum 2 02-05-2006 18:04
[Funktion] nicht alle daten werden gespeichert edaro Projekthilfe 1 28-07-2005 17:07
Bestimmte Daten werden nicht gespeichert vincmar PHP Developer Forum 4 16-03-2004 11:36

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 10:12 Uhr.