SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 31.07.2014, 23:12:52
stifticus
Guest
 
Beiträge: n/a
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
Mit Zitat antworten
  #2  
Alt 01.08.2014, 08:53:15
Benutzerbild von vt1816
vt1816 vt1816 ist offline
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!
Mit Zitat antworten
  #3  
Alt 01.08.2014, 09:23:09
stifticus
Guest
 
Beiträge: n/a
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.
Mit Zitat antworten
  #4  
Alt 01.08.2014, 11:07:44
stifticus
Guest
 
Beiträge: n/a
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?
Mit Zitat antworten
  #5  
Alt 01.08.2014, 13:02:23
stifticus
Guest
 
Beiträge: n/a
AW: Mysql Problem

Zitat:
Zitat von stifticus Beitrag anzeigen

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.
Mit Zitat antworten
  #6  
Alt 01.08.2014, 20:05:43
stifticus
Guest
 
Beiträge: n/a
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.
Mit Zitat antworten
  #7  
Alt 02.08.2014, 07:35:23
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Mysql Problem

Mach doch mal die Augen auf. Du siehst doch schon an der Quelltextanzeige hier im Forum, wo es klemmt.

Durchlesen:
http://de2.php.net/manual/de/language.types.string.php
So oft, bis Du es kapiert hast.

Und dann gehts da weiter:
http://de2.php.net/manual/de/mysqli.query.php
Mit Zitat antworten
  #8  
Alt 02.08.2014, 08:36:20
stifticus
Guest
 
Beiträge: n/a
AW: Mysql Problem

Zitat:
Zitat von meikel Beitrag anzeigen
Mach doch mal die Augen auf. Du siehst doch schon an der Quelltextanzeige hier im Forum, wo es klemmt.

Durchlesen:
http://de2.php.net/manual/de/language.types.string.php
So oft, bis Du es kapiert hast.

Und dann gehts da weiter:
http://de2.php.net/manual/de/mysqli.query.php

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
Mit Zitat antworten
  #9  
Alt 02.08.2014, 13:38:43
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Mysql Problem

Zitat:
Zitat von stifticus Beitrag anzeigen
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?
Mit Zitat antworten
  #10  
Alt 02.08.2014, 14:07:02
stifticus
Guest
 
Beiträge: n/a
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.
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Brauche Hilfe Partygirl MySQLi/PDO/(MySQL) 10 01.03.2011 08:18:11
Problem mit MySQL in Typo3-CMS yamukud MySQLi/PDO/(MySQL) 0 09.10.2009 13:21:18
Problem mit Datefunktion, Gewünschtes Format - MYSQL - und wieder zurück... rezei MySQLi/PDO/(MySQL) 0 08.08.2008 16:25:06
Eigenes CMS - MySQL Problem Tedd PHP Grundlagen 2 25.05.2005 16:41:51
mysql abfrage problem Stifler PHP Grundlagen 2 03.08.2004 10:12:20


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:21:04 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt