CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
31.07.2014, 23:12:52
|
|
Mysql Problem
Hallo,
ich bekomme bei meinem Script folgende Fehlerausgabe:
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 ':32:"Address":8:{s:6:"street";s:11:"Musterstr";s:12:"streetNumber";s: 3:"123";s:4' at line 1
PHP-Code:
<?php
$con = mysqli_connect("xxxxxxx");
// Check connection
if (mysqli_connect_errno())
die("Failed to connect to MySQL: " . mysqli_connect_error());
echo error_reporting (E_ALL);
$data = "O:32:\"Address\":8:{s:6:\"street\";s:11:\"Musterstr\";s:12:\"streetNumber\";s:3:\"123\";s:4:\"city\";s:10:\"Muste rstadt\";s:3:\"zip\";s:5:\"11111\";s:9:\"firstName\";s:4:\"Test\";s:8:\"lastName\";s:5:\"Kunde\";s:10:\"postNumber \";i:12344;s:7:\"country\";s:11:\"Deutschland\";}";
$query = "UPDATE order_attributes SET order_info = $data WHERE order_info IS NULL";
mysqli_query($con, $query);
echo mysqli_error($con);
echo $query;
mysqli_close($con);
?>
Kann mir evtl. jemand helfen? Vielen Dank
|
01.08.2014, 08:53:15
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Mysql Problem
Hallo und willkommen hier im Forum.
Lass Dir Deinen String $query mal vor der Verarbeitung anzeigen.
Wie ist die Struktur der Datenbanktabelle order_attributes?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
01.08.2014, 09:23:09
|
|
AW: Mysql Problem
Guten Morgen,
vielen Dank für Deine Antwort.
Ich habe den Code noch etwas geändert:
PHP-Code:
<?php
$con = mysqli_connect("xxxxxxx");
// Check connection
if (mysqli_connect_errno())
die("Failed to connect to MySQL: " . mysqli_connect_error());
echo error_reporting (E_ALL);
$data = O:32:"Address":8:{s:6:"street";s:11:"Musterstr";s:12:"streetNumber";s:3:"123";s:4:"city";s:10:"Musterstadt";s:3:"zip";s:5:"11111";s:9:"firstName";s:4:"Test";s:8:"lastName";s:5:"Kunde";s:10:"postNumber";i:12344;s:7:"country";s:11:"Deutschland";}";
$sdata = mysqli_real_escape_string($con, $data);
$query = "UPDATE order_attributes SET order_info = $sdata WHERE order_info IS NULL";
echo $query;
mysqli_query($con, $query);
echo mysqli_error($con);
mysqli_close($con);
?>
Die Daten werden escaped angezeit. Es kommt aber immer der Fehler:
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 ':32:\"Address\":8:{s:6:\"street\";s:11:\"Musterstr\";s:12:\"streetNum ber\";s: 3:\"123\";s:4' at line 1
Die Tabelle hat eine normale Struktur.
|
01.08.2014, 11:07:44
|
|
AW: Mysql Problem
Hallo,
ich habe es jetzt so gelöst. Es funktioniert nun. Leider aber nicht im String.
PHP-Code:
<?php
$con = mysqli_connect("xxxxxxx");
// Check connection
if (mysqli_connect_errno())
die("Failed to connect to MySQL: " . mysqli_connect_error());
echo error_reporting (E_ALL);
$query = "UPDATE order_attributes SET order_info = "O:32:"Address\":8:{s:6:\"street\";s:11:\"Musterstr\";s:12:\"streetNumber\";s:3:\"123\";s:4:\"city\";s:10:\"Muste rstadt\";s:3:\"zip\";s:5:\"11111\";s:9:\"firstName\";s:4:\"Test\";s:8:\"lastName\";s:5:\"Kunde\";s:10:\"postNumber \";i:12344;s:7:\"country\";s:11:\"Deutschland\";}" WHERE order_info IS NULL";
mysqli_query($con, $query);
echo mysqli_error($con);
echo $query;
mysqli_close($con);
?>
Ich habe aber dennoch eine Frage. Wie könnte ich einzelne Felder innerhalb der Textes: "O:32:\"Address\":8:{s:6:\"street\";s:11:\"Musterstr\";s:12:\"streetNu mber\";s:3:\"123\";s:4:\"city\";s:10:\"Muste rstadt\";s:3:\"zip\";s:5:\"11111\";s:9:\"firstName\";s:4:\"Test\";s:8: \"lastName\";s:5:\"Kunde\";s:10:\"postNumber \";i:12344;s:7:\"country\";s:11:\"Deutschland\";}" ändern?
|
01.08.2014, 13:02:23
|
|
AW: Mysql Problem
Zitat:
Zitat von stifticus
Ich habe aber dennoch eine Frage. Wie könnte ich einzelne Felder innerhalb der Textes: "O:32:\"Address\":8:{s:6:\"street\";s:11:\"Musterstr\";s:12:\"streetNu mber\";s:3:\"123\";s:4:\"city\";s:10:\"Muste rstadt\";s:3:\"zip\";s:5:\"11111\";s:9:\"firstName\";s:4:\"Test\";s:8: \"lastName\";s:5:\"Kunde\";s:10:\"postNumber \";i:12344;s:7:\"country\";s:11:\"Deutschland\";}" ändern?
|
Anders formuliert. Daten einfügen geht ja per string.
Ich muss etwas abgleichen. Und zwar:
Wenn in Tabelle Order_attributes adress= Is NULL dann nimm OrderID
gehe zu
Tabelle Order wo ID = orderID nimmm UserID
gehe zu
Tabelle User_Shipping_Adress wo UserID=UserID
Von dort sollen dann die Felder Firstname Lastname ,... jeweils als einzelner Sting genommen werden und per z.B. $firstname in die Query eingebaut werden.
|
01.08.2014, 20:05:43
|
|
AW: Mysql Problem
Würde das mit select from where funktionieren oder bräuchte ich dafür etwas anderes?
Vielen Dank schon mal für Tips.
|
02.08.2014, 08:36:20
|
|
AW: Mysql Problem
Zitat:
Zitat von meikel
|
Ja, oben habe ich vergessen einen Single quot einzusetzen. Dennoch geht es mit der obigen Fehlermeldung weiter.
Von daher habe ich den Text direkt escaped in das query geschrieben, wo es einwandfrei funktioniert.
Grüsse
|
02.08.2014, 13:38:43
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Mysql Problem
Zitat:
Zitat von stifticus
Ja, oben habe ich vergessen einen Single quot einzusetzen. Dennoch geht es mit der obigen Fehlermeldung weiter.
|
Sakra. Lies endlich mal das Handbuch! Oder kauf Dir ne Tastatur, die elektrische Schläge verteilt, wenn Du solchen Blödsinn zusammentippst.
Gibt Dir das nicht zu denken, daß sich an Deinen Strings sowohl PHP als auch MySQL die Zähne aubeißen?
Zitat:
Von daher habe ich den Text direkt escaped in das query geschrieben, wo es einwandfrei funktioniert.
|
1. in Deinem Handbuch fehlt also die Funktion/Methode mysqli::real_escape_string?
http://de1.php.net/mysqli
http://de1.php.net/manual/de/mysqli....ape-string.php
2. mit der PDO Extension ginge es auch, aber die scheint es in Deinem Handbuch wohl auch nicht zu geben.
http://de1.php.net/pdo
3. Dein String sieht aus wie ein serialisiertes Array. Woher stammt der Kram?
|
02.08.2014, 14:07:02
|
|
AW: Mysql Problem
THema kann geschlossen werden.
Ich dachte das ist ein Forum um Hilfe zu bekommen, wenn man Probleme hat. Aber scheinbar ist das bei manchen Usern nicht so.
Lieber auf den Leuten rumhacken, das geht immer.
Als Anfänger in Sachen PHP / MYSQL weiß man halt vieles nicht und macht Fehler. So fängt ja wohl jeder mal an.
Und dafür fragt man ja nach um aus den Fehlern zu lernen, welche man gemacht hat.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 16:21:04 Uhr.
|