#1064 - Fehler in der SQL-Syntax.
Intelias
- datenbank
Hallo,
ich bin leihe und versuche mich gerade an etwas... Ich habe ein Skript erhalten, wo es lediglich hieß , die Datei wie sie ist, in der mysql einzupflegen.
je doch erhalte ich bei allen varianten die ich versucht habe immer das gleiche Problem!
Die Fehler Liste ist sehr lang, darum kopiere ich nur das erstmal, was ich denke, wichtig ist.
MySQL meldet:
#1064 - 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 'http://de.fotolia.com/partner/200401001' target='_blank' onFocus='if (this.blur)' at line 1
an was könnte es liegen?
Mfg
verwendetet DaBa:
phpMyAdmin - 2.10.0.2
* MySQL-Client-Version: 5.0.41
Hier alles was Mysql meldet:
Fehler
Es scheint einen Fehler in Ihrer MySQL-Abfrage zu geben. Die MySQL-Fehlerausgabe, falls vorhanden, kann Ihnen auch bei der Fehleranalyse helfen.
ERROR: Unbekannte Interpunktion @ 981
STR: ://
SQL: INSERT INTO texte (text_id, text_head, text_inhalt) VALUES (1, 'Impressum', 'Diese Webseite wird betrieben von:<br><br><b>Musterfirma</b><br>Max Mustermann<br>Probestr. 11<br>D-00000 Beispielstadt<br><br>TEL: +49 000 111111<br>eMail: info@ihreDomain.de<br>Ust-IdNr: 000000000<br><br><b><u>Disclaimer/Haftungsausschluss:</u></b><br>Trotz sorgfältiger inhaltlicher Kontrolle wird keine Haftung für die Inhalte externer Links übernommen. Für den Inhalt der verlinkten Webseiten sind ausschließlich deren Betreiber verantwortlich.<br><br><b><u>Copyright:</u></b><br>Die verwendeten Texte und Grafiken sowie das Layout und ein Teil der Bilder unterliegen weltweitem Urheberrecht. Die unerlaubte Verwendung, Reproduktion oder Weitergabe einzelner Inhalte oder kompletter Seiten ist untersagt. Dies gilt ebenso für die unerlaubte Einbindung einzelner Inhalte oder kompletter Seiten auf Internetseiten anderer Betreiber.<br><br><i>Bildquellen: <a href='http://de.fotolia.com/partner/200401001' target='_blank' onFocus='if (this.blur) this.blur()'>fotolia.de [copyright Coka]</a> und WDD</i><br><br><b><u>Datenschutz:</u></b><br>Im Rahmen einer Registrierung werden personenbezogene Daten gespeichert. Diese Daten werden an Partnerunternehmen, welche im Zusammenhang mit unserem Service stehen, weitergeleitet. Wir haben keinerlei Einfluss auf die Art und Weise der Weiterverarbeitung der übermittelten Daten durch diese Partnerunternehmen.'),
(2, 'Allgemeine Geschäftsbedingungen', '<b>1. Allgemeines</b><br>Mit Absenden seiner Registrierung erkennt der Teilnehmer diese Geschäftsbedingungen ausnahmslos an.<br><br><b>2. Vertragsschluss</b><br>Der Teilnehmer geht mit Absenden seiner Registrierung einen verbindlichen Vertrag für die Dauer von 12 Monaten ein.<br><br><b>3. Pflichten des Teilnehmers</b><br>Der Teilnehmer beauftragt ihreDomain.de, ihn in seinem Namen bei Anbietern von Produktproben, Gutscheinen und anderen kostenlosen Angeboten anzumelden.<br>Der Teilnehmer verpflichtet sich, bei seiner Registrierung inhaltlich richtige Angaben zu seiner Person zu machen und versichert, dass er mindestens 18 Jahre alt ist.<br><br>Die Service-Gebühr ist innerhalb von 14 Tagen nach dem Zeitpunkt der Registrierung für die Vertragsdauer von 12 Monaten im voraus zu zahlen.<br>Desweiteren verpflichtet sich der Teilnehmer, Registrierungsanfragen von Anbietern zu bestätigen. Dies erfolgt in der Regel durch Klick auf einen Bestätigungslink.<br><br><b>4. Pflichten von ihreDomain.de</b><br>ihreDomain.de verpflichtet sich, dem Teilnehmer monatlich Produktproben, Gutscheine und andere kostenlose Angebote zu vermitteln. Die Anzahl und Art der Serviceleistung kann dabei variieren. ihreDomain.de übermittelt die Daten des Teilnehmers an Anbieter von o.g. Leistungen. Außerdem sendet ihreDomain.de dem Teilnehmer Gutscheine bzw. Links zu kostenlosen Angeboten per e-Mail zu.<br>ihreDomain.de verpflichtet sich, sein Angebot, soweit es technisch möglich ist, aufrecht zu erhalten. Bei unerwarteten Ereignissen hat ihreDomain.de jedoch das Recht, seinen Internetauftritt auf eine andere Internetadresse zu verlagern, einzustellen oder das gesamte Projekt an einen anderen Betreiber zu veräußern. In beiden Fällen wird der Teilnehmer darüber informiert.<br>Sollte die Webseite durch technische Probleme oder andere unerwartete Einflüsse nicht zu erreichen sein, ist ihreDomain.de bemüht, diese Störungen so schnell wie möglich zu beheben.<br><br><b>5. Datenschutz</b><br>Der Teilnehmer erklärt sich damit einverstanden, dass seine persönlichen Daten an Anbieter von Produktproben, Gutscheinen und anderen kostenlosen/reduzierten Angeboten übermittelt werden. Die Daten des Teilnehmers werden von ihreDomain.de nur zum Zweck der Anmeldung bei diesen Anbietern genutzt, eine andere Weitergabe oder Verkauf der Daten an andere Unternehmen erfolgt nicht. Es kann nicht gewährleistet werden, dass der Anbieter die Daten des Teilnehmers nur für seine eigenen Zwecke nutzt.<br><br><b>6. Gewährleistung</b><br>ihreDomain.de vermittelt dem Teilnehmer so viele Dienste wie möglich. Es kann trotzdem keine Haftung für den Erhalt der vermittelten Proben, Gutscheine usw. übernommen werden. Der Versand der Angebote liegt in der Verantwortung des jeweiligen Anbieters, ihreDomain.de übernimmt lediglich die Anmeldung im Auftrag des Teilnehmers.<br><br><b>7. Kündigung/Vertragsende</b><br>Der Teilnehmer kann seinen Vertrag jederzeit ohne Begründung kündigen. Die Kündigung muss schriftlich per Brief oder E-Mail erfolgen. Bereits bezahlte Gebühren werden nicht erstattet.<br>Der Vertrag verlängert sich nach Ablauf der Vertragsdauer um weitere 12 Monate, wenn der Teilnehmer diesen nicht spätestens 4 Wochen vor Ablauf der Vertragsdauer kündigt.<br><br><b>8. Sonstiges</b><br>Die derzeitige Fassung der allgemeinen Geschäftsbedingungen ersetzt ausnahmslos alle vorherigen Versionen. ihreDomain.de behält sich das Recht vor, diese Bedingungen jederzeit zu ändern. Der Teilnehmer wird davon in Kenntnis gesetzt. Sollte ein Teil der Bedingungen unwirksam werden, bleiben alle anderen davon unberührt.<br><br><i>Stand: 24.11.2008</i>'),
(3, 'Widerrufsbelehrung', 'Als Verbraucher können Sie Ihre Vertragserklärung innerhalb von 14 Tagen ohne Angabe von Gründen in Textform (per Brief oder E-Mail) widerrufen. Zur Wahrung der Widerrufsfrist genügt die rechtzeitige Absendung des Widerrufs. Der Widerruf ist zu richten an:<br><br><b>Musterfirma</b><br>Max Mustermann<br>Probestr. 11<br>D-00000 Beispielstadt<br>eMail: info@ihreDomain.de<br><br>Bei fristgerechtem Widerruf wird der Kaufpreis erstattet. Die Frist beginnt mit Vertragsabschluss. Das Widerrufsrecht erlischt, wenn mit der Ausführung der Dienstleistung begonnen wurde.'),
(4, 'description', 'Gutscheine und Warenproben, jeden Monat kostenlos direkt zu Ihnen nach Hause. Top-Artikel von namhaften Herstellern. Sparen Sie Monat für Monat bares Geld mit Warenproben und Gutscheinen.'),
(5, 'keywords', 'kostenlos, gratis, Warenproben, Produktproben, Proben, Probenservice, Gutscheine, reduziert, Gutschein, Warenprobe, Markenartikel, sparen, Geld sparen'),
(6, 'title-tag', 'Warenproben-Service'),
(7, 'Häufige Fragen (FAQ)', '<a href='#1'>1. Wie funktioniert Ihr Service?</a><br><a href='#2'>2. Welche Produkte kann ich erwarten?</a><br><a href='#3'>3. Gibt es Verpflichtungen für mich?</a><br><a href='#4'>4. Was kostet mich Ihr Service?</a><br><a href='#5'>5. Sind Mehrfachanmeldungen erlaubt?</a><br><a href='#6'>6. Was passiert mit meinen Daten?</a><br><br><a name='1'>1. Wie funktioniert Ihr Service?</a><br>Nach Ihrer Anmeldung erhalten Sie per e-Mail eine Bestätigung mit unseren Zahlungshinweisen. Sobald die Service-Gebühr von Ihnen beglichen wurde, melden wir Sie in Ihrem Namen jeden Monat bei mindestens 30 Anbietern für Warenproben, Gutscheinaktionen und anderen kostenlosen Angeboten an.<br><br><a name='2'>2. Welche Produkte kann ich erwarten?</a><br>Sie erhalten Monat für Monat unterschiedliche Warenproben und Gutscheine (Kosmetik, Gesundheit, Nahrungsmittel, Reinigung, EDV, Haushalt, Auto, Büro, Kinder, Zeitschriften u.v.m.) direkt ins Haus. Außerdem suchen wir nach stark reduzierten Angeboten, welche wir Ihnen zusätzlich per e-Mail vorstellen.<br>Welche Produkte Sie genau erhalten, können wir vorab nicht sagen. Wir recherchieren täglich nach neuen Produkten und die Anbieter wechseln öfter ihr Angebot. Wir haben keinen Einfluss auf die Versendung der Warenproben und nicht jede Anmeldung führt zum Erfolg. Bei einigen Anbietern kann der Versand zwischen 4 und 6 Wochen dauern, in der Regel treffen aber die ersten Proben ca. 1-2 Wochen nach Anmeldung bei Ihnen ein.<br><br><a name='3'>3. Gibt es Verpflichtungen für mich?</a><br>Ja, Sie sind verpflichtet, die Teilnahmegebühren zu bezahlen. Desweiteren sind Sie verpflichtet, Registrierungs-E-Mails von den Anbietern zu bestätigen. Nicht jeder Anbieter versendet eine Bestätigungsmail, aber bei einigen ist es unumgänglich.<br><br><a name='4'>4. Was kostet mich Ihr Service?</a><br>Leider können wir unsere Dienstleistung nicht kostenlos anbieten, da uns durch die Recherche nach Produkten und die Vermittlung auch Kosten und Arbeitsstunden entstehen. Sie bezahlen für unseren Service lediglich 4,99 Euro inkl. 19% Mwst. pro Monat (Zahlungsweise jährlich im voraus).<br><br><a name='5'>5. Sind Mehrfachanmeldungen erlaubt?</a><br>Aus unserer Sicht, ja. Allerdings akzeptieren einige Anbieter nur eine Anmeldung pro Haushalt. Sollte die Anmeldung mit selbem Nachnamen unter der gleichen Anschrift erfolgen, werden Sie von dem Anbieter keine weiteren Proben erhalten.<br><br><a name='6'>6. Was passiert mit meinen Daten?</a><br>Mit der Registrierung erklären Sie sich damit einverstanden, dass Ihre persönlichen Daten an Anbieter von Produktproben, Gutscheinen und anderen kostenlosen/reduzierten Angeboten übermittelt werden.<br>Von uns werden Ihre Daten nur zum Zweck der Anmeldung bei diesen Anbietern genutzt, eine andere Weitergabe oder Verkauf der Daten an andere Unternehmen erfolgt nicht.')
MySQL meldet: Dokumentation
#1064 - 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 'http://de.fotolia.com/partner/200401001' target='_blank' onFocus='if (this.blur)' at line 1
Hi,
MySQL meldet:
#1064 - 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 'http://de.fotolia.com/partner/200401001' target='_blank' onFocus='if (this.blur)' at line 1an was könnte es liegen?
Daran, dass das Hochkomma, welches vor diesen Zeichen kommt, den String, der bei
INSERT INTO texte (text_id, text_head, text_inhalt) VALUES (1, 'Impressum', 'Diese Webs ...
begonnen wurde, wieder beendet - und damit danach etwas kommt, was die Datenbank nicht vernünftig interpretieren kann.
MfG ChrisB
Hi Intelias!
an was könnte es liegen?
An fehlender kontextgerechter Maskierung.
Zur Erklärung:
Wenn du in einer Programmiersprache einen String mit ' beginnst, was glaubst du, was getan werden muss, damit man in diesem String ein ' verwenden möchte?
Richtig, man muss irgendwie klarmachen, dass ' zum Inhalt des Textes gehört. Das nennt man dann Maskieren. Bei SQL geht das mit einem vorangestellten Backslash.
_Kontextgerecht_ Maskieren heißt, dass man je nach Kontext (verwendete Programmier- oder Auszeichnungssprache, Übertragungsweg oder -richtung, etc.) bestimmte, meist unterschiedliche Zeichen auf eine bestimmte, meist unterschiedliche Weise maskieren muss.
Um HTML-Code auf einer Seite anzuzeigen, müssen bspw. andere Zeichen maskiert werden als beim Füllen und Absetzen einer SQL-Anweisung.
Es sieht übrigens so aus, als hätte jemand per Hand das Skript verändert, da einige Hochkommata richtig maskiert sind, andere nicht.
MfG H☼psel