Hilfe bei sql abfrage und unserialize

Der von dir eingestellt String hat eine länge von 618 Zeichen, in ein Char / Varchar Feld passt es nicht rein ,) also Text oder Blob sollte es wohl schon sein.

Alte Daten sind aber unwiederruflich zerstört wenn sie länger als die alte Feldgröße waren.
 
aber mit dem script sollte es doch gehen, wenn der string in der db richtig ist oder ist da ein syntax fehler im script ... warum geht das nicht ! -_-
ich will doch nur aus der spalte xy ein serialisierten string raus holen, ihn serialisieren und ausgeben ..
PHP:
$sql = mysql_query("SELECT * FROM blub WHERE `id` = '4'");
  while($row = mysql_fetch_array($sql))
{
$aa = $row['xy'];
$arr = unserialize($aa);
echo $arr['xy'][1];
}
 
also ich habe das jetzt so gemacht:
PHP:
$sql = mysql_query("SELECT * FROM blub WHERE `id` = '4'");
  while($row = mysql_fetch_array($sql))
{
$aa = $row['xy'];
$arr = unserialize($aa);
echo $arr['xy'][1];
}

if ( !mysql_query($sql) AND mysql_errno() > 0 )  {
  die(mysql_error);
}

und da kommt "mysql_error" raus. was heist das jetzt genau ?
das fehler in der spalte sind oder das ich was falsch eingestellt habe oder .. ?
 
Das bedeutet
1) dass du nochmal PHP lernen musst weil du
2) keine Funktion aufrufst sondern eine (nicht vorhandene) Konstante und dass
3) Es einen Fehler im Query gibt.
4) verwende doch gleich mysql_query(...) OR die(mysql_error());
 
Probier es mal so:
PHP:
$sql = "SELECT * FROM blub WHERE `id` = '4'";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($result))  {
  $aa = $row['xy'];
  $arr = unserialize($aa);
  echo $arr['xy'][1];
}
 
irgendwie will das alles nicht --__--
Also ich benutze jetzt den code von tobee:
PHP:
$sql = "SELECT * FROM blub WHERE `id` = '1'";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($result))  {
  $aa = $row['xy'];
  $arr = unserialize($aa);
  echo $arr['xy'][1];
}

Die (fehler) meldung ist:
Notice: Undefined index: xy in /var/www/..../test4.php on line 9

Line 9 ist:
PHP:
echo $arr['xy'][1];

Und in der Tabelle blub ist das drin:
 

Anhänge

  • db.jpg
    db.jpg
    32,6 KB · Aufrufe: 14
Arrays in PHP fangen immer bei 0 an und da es bei dir nur einen Eintrag gibt, muss aus:
PHP:
echo $arr[1];
das
PHP:
echo $arr[0];
werden.

Undefined index heißt eben, dass das Array da ist, aber auf diesem Index keinen Eintrag hat.
 
Zuletzt bearbeitet:
Zurück