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 12-11-2015, 18:21
Truncate
 Registrierter Benutzer
Links : Onlinestatus : Truncate ist offline
Registriert seit: Nov 2005
Beiträge: 414
Truncate kann nur auf Besserung hoffen
Standard DB speichert keine Anführungszeichen

Hallo,

ich speicher/lade meine Daten ganz normal mittels mysql_query(), bei der Speicherung zusätzlich noch mysql_real_escape_string().

Sofern ein User nun irgendeinen Text eingibt und in diesem Anführungszeichen vorhanden sind, speichert es in der Datenbank den jeweiligen String nur bis zum Anführungszeichen.

Muss ich jetzt ernsthaft noch alle Strings VOR der Speicherung mittels addslashes() und beim Laden mit stripslashes() bearbeiten?

Danke!
Mit Zitat antworten
  #2 (permalink)  
Alt 12-11-2015, 18:42
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Truncate Beitrag anzeigen
Muss ich jetzt ernsthaft […]
… das Problem nachvollziehbar beschreiben?

Ja, musst du. Mit den bisher vorliegenden Informationen kann dir nämlich niemand sagen, was du falsch gemacht hast.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 12-11-2015, 18:46
Truncate
 Registrierter Benutzer
Links : Onlinestatus : Truncate ist offline
Registriert seit: Nov 2005
Beiträge: 414
Truncate kann nur auf Besserung hoffen
Standard

Zitat:
Zitat von wahsaga Beitrag anzeigen
… das Problem nachvollziehbar beschreiben?

Ja, musst du. Mit den bisher vorliegenden Informationen kann dir nämlich niemand sagen, was du falsch gemacht hast.
Naja was soll ich da noch groß dazu schreiben?

Ich speichere Formulardaten unverändert mittels mysql_query() und mysql_real_escape_string() in die DB.
Mit Zitat antworten
  #4 (permalink)  
Alt 12-11-2015, 19:03
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Und was soll ich dazu jetzt noch groß dazu schreiben?

Wenn du nicht gewillt bist, mehr Details rauszurücken – dann kann der Thread auch auf den Müll wandern.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 12-11-2015, 19:17
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Davon abgesehen, dass die mysql_* Funktionen veraltet sind und nicht mehr verwendet werden sollten, ist das Mindesteste, das du posten kannst, ein kurzer Testcode, bei dem das Verhalten nachvollziehbar auftritt. Da eine Datenbank involviert ist, solltest du auch eine Testdatenbank als SQL-Code posten. Alles andere führt nur zu Kaffeesudlesen.

Du solltest nach 394 Beiträgen langsam mitgekriegt haben, wie ein Programmierforum funktionert.
Mit Zitat antworten
  #6 (permalink)  
Alt 12-11-2015, 19:23
Truncate
 Registrierter Benutzer
Links : Onlinestatus : Truncate ist offline
Registriert seit: Nov 2005
Beiträge: 414
Truncate kann nur auf Besserung hoffen
Standard

Gut, also die Daten kommen unverarbeitet aus einem Formular und werden so gespeichert:

Code:
mysql_query("INSERT INTO tabelle (mitarbeiter) VALUES ('".mysql_real_escape_string($_POST['mitarbeiter'])."')");
Wenn jetzt jemand als Mitarbeiter Alex "Spitzname" Konopka eingibt, dann landet in der Datenbank lediglich Alex.

Magic Quotes sind natürlich aus...
Mit Zitat antworten
  #7 (permalink)  
Alt 12-11-2015, 19:42
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Das ist kein vollständiger Testcode.

So sieht Testcode aus:
PHP-Code:
$link mysql_connect('localhost''root''');
mysql_set_charset('utf8'$link);
mysql_select_db('test'$link);

mysql_query('DROP TABLE IF EXISTS `test`'$link);
mysql_query('
    CREATE TABLE `test` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `mitarbeiter` varchar(255) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
'
$link);

$value 'Alex "Spitzname" Konopka';

mysql_query("
    INSERT INTO test (mitarbeiter)
    VALUES ('" 
mysql_real_escape_string($value$link) . "')
"
$link); 
Und wenn wir jetzt in die Datenbank schauen, sehen wir folgendes:
Code:
mysql> SELECT * FROM test;
+----+--------------------------+
| id | mitarbeiter              |
+----+--------------------------+
|  1 | Alex "Spitzname" Konopka |
+----+--------------------------+
1 row in set (0.00 sec)
Also entweder enthält $_POST['mitarbeiter'] nicht das, das du denkst, das es enthält, oder du verheimlichst relevanten Code.

Geändert von h3ll (12-11-2015 um 19:44 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 12-11-2015, 20:04
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Truncate Beitrag anzeigen
dann landet in der Datenbank lediglich Alex.
Und das hast du mit phpMyAdmin oder einem anderen DB-Frontend überprüft?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #9 (permalink)  
Alt 12-11-2015, 20:18
Truncate
 Registrierter Benutzer
Links : Onlinestatus : Truncate ist offline
Registriert seit: Nov 2005
Beiträge: 414
Truncate kann nur auf Besserung hoffen
Standard

Also in der DB wird es richtig gespeichert, ABER wenn man es wieder in einem Inputfeld ausgibt wird es verstümmelt:

Code:
<input name=mitarbeiter value="Alex "Spitzname" Konopka">
Wie handhabt man sowas? value=' ... ' benutzen? Aber dann spackt er ja sicherlich auch wieder rum wenn jemand irgendwo ' eingibt.
Mit Zitat antworten
  #10 (permalink)  
Alt 12-11-2015, 20:24
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Also ein ganz anderes Problem, das überhaupt nichts mit der Datenbank zu tun hat. Und das erwähnst du erst im 9. Post vom Thread...

Du beachtest den Kontextwechsel zu HTML nicht. Werte, die du in HTML-Code einfügst, müssen immer mit htmlspecialchars() maskiert werden.
Mit Zitat antworten
  #11 (permalink)  
Alt 12-11-2015, 20:24
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Truncate Beitrag anzeigen
Also in der DB wird es richtig gespeichert, ABER wenn man es wieder in einem Inputfeld ausgibt wird es verstümmelt:

Code:
<input name=mitarbeiter value="Alex "Spitzname" Konopka">
Siehst du, hat also absolut nichts mit dem Einfügen in die Datenbank zu tun.

Zitat:
Wie handhabt man sowas?
https://wiki.selfhtml.org/wiki/Progr...Kontextwechsel
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
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
Speichert falschen Wert ab phphilfe Archiv / Trash 2 06-06-2015 18:42
MySQL findet keine Datensätze, wenn id in Anführungszeichen steht ApoY2k SQL / Datenbanken 10 07-08-2011 19:41
Skript speichert keine Daten ab - wo ist der Fehler? Razen PHP Developer Forum 3 04-01-2010 12:22
IE6 speichert keine Sessions auf localhost. antman PHP Developer Forum 39 27-08-2004 13:30
Der Explorer speichert alles...!! cugar PHP Developer Forum 2 30-12-2003 11:39

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 05:29 Uhr.