1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
14
14
ZUGRIFFE
468
468
EMPFEHLEN
-
27.01.09 09:50 #1starfoxfs Tutorials.de Gastzugang
Hi zusammen,
Ich wollte eigentlich ein zusammengesetztes Array mit einer DB Select Abfrage vergleichen was aber komischerweise nicht funktioniert das Array wird ganz normal mit print_r oder var_dump angezeigt.
Wo liegt hier der Fehler ? muss ich vll erst das Array zu einem String konvertieren mit Implode ?PHP-Code:$teilenr = array_merge($teile1, $teile2);
$sql3 = "SELECT * FROM ".$sqltab4." WHERE HPARTPLBLK = '$teilenr'";
$result3 = $db->query($sql3);
while ($row = $db->fetcharray($result3))
{
.
.
.
-
Guten morgen,
Sollte so funktionieren:
GrüßePHP-Code:$teilenr = array_merge($teile1, $teile2);
$sql3 = "SELECT * FROM '".$sqltab4."' WHERE HPARTPLBLK = '".$teilenr."'";
$result3 = $db->query($sql3);
while ($row = $db->fetcharray($result3))
{
.
.
.
> "Open your mind"
> "Open your heart"
> "Open your source"
-
27.01.09 10:06 #3starfoxfs Tutorials.de GastzugangAngezeigt wird leider nichtsPHP-Code:
$teilezusammen = array_merge($teile1, $teile2);
$sql3 = "SELECT * FROM ".$sqltab4." WHERE HPARTPLBLK = '".$teilezusammen."'";
$result3 = $db->query($sql3);
while ($row = $db->fetcharray($result3))
{
echo $row["HPARTPLBLK"];
}
Wenn ich das Array mit print_r ausgebe passt alles und sieht folgendermaßen aus:
Array ( [0] => B173416 [1] => B173425 [2] => B173427 [3] => B173429 [4] => B173430 [5] => B173431 [6] => B173436 [7] => B173442 [8] => B173448 [9] => B173449 [10] => B173418 [11] => B173419 [12] => B173420 [13] => B173421 [14] => B173422 [15] => B173423 [16] => B173424 [17] => B173432 [18] => B173433 [19] => B173434 [20] => B173435 [21] => B173437 [22] => B173438 [23] => B173439 [24] => B173440 [25] => B173441 [26] => B173443 [27] => B173444 [28] => B173445 [29] => B173446 [30] => B173447 [31] => B173450 [32] => B173451 [33] => B173452 [34] => B173453 [35] => B173454 [36] => B173455 [37] => B173456 [38] => B173457 [39] => B173458 [40] => B173459 [41] => B173460 )Geändert von starfoxfs (27.01.09 um 10:09 Uhr)
-
Habe den Tabellennamen auch anders eingefügt!
Falls das auch nichts bringt, versuch mal mit folgendem Link die Fehler von Mysql ausfindig zu machen.
http://tut.php-quake.net/de/mysql-php.html
Grüße
> "Open your mind"
> "Open your heart"
> "Open your source"
-
Moin,
Mysql hat keinen Datentyp ARRAY, solch ein Vergleich kann also über ein SELECT nicht funktionieren.
Der einzige Fall, in dem das klappen würde, wäre, wenn in HPARTPLBLK der String Array steht...das ist nämlich das, was in deinem SELECT als Klausel wirklich benutzt wird...ich glaube aber nicht, dass dies dir weiterhilft
Was du machen kannst, ist, erstmal alle Datensätze holen, und dann vergleichen, ob die einzelnen Ergebnisse übereinstimmen.
Was steht da überhaupt in HPARTPLBLK ?Geändert von Sven Mintel (27.01.09 um 10:22 Uhr)
-
27.01.09 10:17 #6starfoxfs Tutorials.de Gastzugang
Also hab mal den Quellcode abgeändert sieht nun folgendermaßen aus:
Die Datenbankverbindung besteht auch hab ich geprüftPHP-Code:$teilezusammen = array_merge($teile1, $teile2);
$sql3 = "SELECT * FROM ".$sqltab4." WHERE HPARTPLBLK = '".$teilezusammen."'";
$result3 = $db->query($sql3)or die(mysql_error());
while ($row = $db->fetcharray($result3))
{
.
.
.
-
27.01.09 10:19 #7starfoxfs Tutorials.de Gastzugang
mit Implode in String umwandeln hab ich da vll eine Chance ?
-
Das käme eben drauf an, was da wie in der DB drinnen steht.
-
siehe unten:
Geändert von LSd (27.01.09 um 10:38 Uhr) Grund: Unnötig...
> "Open your mind"
> "Open your heart"
> "Open your source"
-
Guten Morgen.
Wenn du ein Array aus PHP mit einer SQL-Tabelle "vergleichen" willst dann nimmst du die SQL-Bedingung:
Code :1
WHERE `feldname` IN ('wert1', 'wert2', 'foo')
In PHP stellst du diese Liste innerhalb der Klammer Zusammen mit implode:
Der gesamte Query wäre demnach:PHP-Code:$array = array('wert1', 'wert2', 'foo');
$comma_separated = implode(",", $array);
http://de.php.net/manual/de/function.implode.phpPHP-Code:"SELECT * FROM `tabelle` WHERE `feldname` IN (" . $comma_seperated . ")";
Geändert von ZodiacXP (27.01.09 um 11:00 Uhr)
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
In dem Fall könnte man es per IN() lösen: (zu spät
)Code :1
"SELECT * FROM ".$sqltab4." WHERE HPARTPLBLK IN('".implode("'",$teilezusammen)."')"
-
27.01.09 10:43 #12starfoxfs Tutorials.de GastzugangFehlermeldung:PHP-Code:
$teilezusammen = array_merge($teile1, $teile2);
$teilenr = implode(",", $teilezusammen);
$sql3 = "SELECT * FROM ".$sqltab4." WHERE HPARTPLBLK IN (" . $teilenr . ")";
$result3 = $db->query($sql3)or die(mysql_error());
while ($row = $db->fetcharray($result3))
{
.
.
.
Unknown column 'B173416' in 'where clause'Geändert von starfoxfs (27.01.09 um 10:46 Uhr)
-
27.01.09 10:53 #13starfoxfs Tutorials.de Gastzugang
In der HPARTPLBLK in der DB sehen die Werte so aus:
A1
A2
A3
A4
.
.
.
später irgendwann kommt dann
B1
B2
.
.
.
und das ganze geht beides in den 7 stelligen Bereich hoch
B173416
B173417
B173418
.
.
gespeichert unter Varchar 255
-
Oh Strings. Ich vergas

SorryPHP-Code:$teilenr = "'" . implode("', '", $teilezusammen) . "'";
Und kann mir mal jemand sagen wo im SQL-Referenzhandbuch das IN steht? Ich find's nich' mehr.
EDIT: Hab es
http://dev.mysql.com/doc/refman/5.1/...operators.html
Geändert von ZodiacXP (27.01.09 um 11:13 Uhr)
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
27.01.09 11:08 #15starfoxfs Tutorials.de Gastzugang
Perfekt funktioniert
Ähnliche Themen
-
Abfrage von Inhalten in DB und vergleichen
Von BlackCross im Forum Relationale DatenbanksystemeAntworten: 8Letzter Beitrag: 17.12.06, 19:02 -
MySQL Abfrage mit PHP if Abfrage vergleichen
Von son gohan im Forum Relationale DatenbanksystemeAntworten: 13Letzter Beitrag: 26.09.05, 11:24 -
Text Array mit MySQL Array vergleichen
Von TZeRo im Forum PHPAntworten: 4Letzter Beitrag: 07.11.04, 20:41 -
2 array vergleichen
Von Pepo im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 4Letzter Beitrag: 03.06.04, 21:25 -
IF Abfrage mit 2 Var Vergleichen
Von Webber im Forum PHPAntworten: 5Letzter Beitrag: 19.08.02, 07:03





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren