Danke für eure Seiten bezüglich PDO und mysqli - die werde ich mir mal in Ruhe anschauen!
Ankündigung
Einklappen
Keine Ankündigung bisher.
Select from ** where ** = array ?
Einklappen
Neue Werbung 2019
Einklappen
X
-
Um was geht es jetzt? #12 und #13 sind ja 2 verschiedenen Aufrufe, stell die Syntax richtig und schau was die Fehlermeldung bemängelt. Ich würde vorschlagen du spielst mal wenig rum und wenn du noch konkrete Fragen hast und nicht weiterkommst dann hier. Irgendwie "überschlägst" du dich gerade.The string "()()" is not palindrom but the String "())(" is.
Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
PHP.de Wissenssammlung | Kein Support per PN
Kommentar
-
Was ich nicht verstehe ist folgendes:
PHP-Code:$query = "SELECT * from `".$dblink."` WHERE ARTIKEL_ID IN('".$articleString."')";
$result = mysql_query($query) ;
if ($result == true){
$hinweis = 'toll';
}else {
$hinweis = 'klappt nicht.';
}
Diese hier zeigt mir die Fehlermeldung "mysql_query(): supplied argument is not a valid.." an:
PHP-Code:$query = "SELECT * from `".$dblink."` WHERE ARTIKEL_ID IN('".$articleString."')";
mysql_query($query) ;
if (false == mysql_query($dblink, $query)) {
die(mysql_error($dblink));
}
Kommentar
-
mysql_query() schickt die query an die DB, dh diese wird ausgeeführt. Siehe auch Doku!
Der zweite Code.. vergiss den, lösche den. Da wird mysql_query() zwei mal ausgeführt (warum?) und beim zweiten mal mit zwei (falschen) Parametern.
Eine Funktion wird auch im Vergleich ausgeführt, also if (mysql_query(...) == true) führt die Funktion aus und vergleicht deren Rückgabewert in der Bedingung.
Und die Abfrage hier kannst du dir auch sparen:
PHP-Code:$query = "SELECT * from `".$dblink."` WHERE ARTIKEL_ID IN('".$articleString."')";
$result = mysql_query($query) ;
if ($result == true){
$hinweis = 'toll';
}else {
$hinweis = 'klappt nicht.';
}
PHP-Code:$query = "SELECT * from `".$dblink."` WHERE ARTIKEL_ID IN '".$articleString."')";
var_dump( mysql_query($query) );
Daher auch die Schreibweise - weil im Fehlerfall die Funktion ein false zurückgibt.
PHP-Code:... mysql_query($query) or die( mysql_error() );
LGThe string "()()" is not palindrom but the String "())(" is.
Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
PHP.de Wissenssammlung | Kein Support per PN
Kommentar
-
Alles klar, dankeschön!
Also wie auch bei meiner ersten Abfrage klappt alles, ich bekomm ein resource zurück.
Schief gelaufen ist es nur mit der Abfrage, die auf der von dir verweisten Seite stand.
Mit den Abfragen kenn ich mich ja eig. aus, nur letzteres hat mich verwundert.
Aber das Ursprungsproblem bleibt - weswegen ich eig. die Abfrage gemacht habe - dass mir nämlich nur ein Ergebnis anstatt die 3 aus dem array ausgegeben werden.
Kommentar
-
Schief gelaufen ist es nur mit der Abfrage, die auf der von dir verweisten Seite stand.
Aber das Ursprungsproblem bleibt - weswegen ich eig. die Abfrage gemacht habe - dass mir nämlich nur ein Ergebnis anstatt die 3 aus dem array ausgegeben werden.
PHP-Code:$query = "SELECT .... ";
echo $query; // mach das mal !!
The string "()()" is not palindrom but the String "())(" is.
Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
PHP.de Wissenssammlung | Kein Support per PN
Kommentar
-
Das ist alles davor !! Lass dir endlich mal die fertige echte(!) von PHP geparste Query ausgeben die du wirklich an die DB schickst, wie oft noch?!
Zitat von hausl Beitrag anzeigenDann lass dir mal die query ausgeben, schrieb ich doch schon und schau was du von der DB "wirklich" anforderst.
PHP-Code:$query = "SELECT .... ";
echo $query; // mach das mal !!
The string "()()" is not palindrom but the String "())(" is.
Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
PHP.de Wissenssammlung | Kein Support per PN
Kommentar
-
Das war auch eine zu mysqli_ und nicht mysql_ !
Dann lass dir mal die query ausgeben, schrieb ich doch schon und schau was du von der DB "wirklich" anforderst.
--> SELECT * from `BT-NR 312` WHERE ARTIKEL_ID IN('1','2','21')
Okay, dann wird es wohl an der Ausgabe liegen - dann überprüfe ich die jetzt nochmal!!
Kommentar
-
[del]The string "()()" is not palindrom but the String "())(" is.
Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
PHP.de Wissenssammlung | Kein Support per PN
Kommentar
-
Zitat von Die_Brini Beitrag anzeigenCode:SELECT * from `BT-NR 312` WHERE ARTIKEL_ID IN('1','2','21')
The string "()()" is not palindrom but the String "())(" is.
Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
PHP.de Wissenssammlung | Kein Support per PN
Kommentar
-
Ah, okay. Bringt mir hier nur in meinem Fall nichts, weil ich mit Sessions arbeite. Aber trotzdem interessant.
Bei meinem Code komm ich nicht wirklich drauf, wieso er mir nur ein Ergebnis anzeigt.
Aber vll. hab ich grad völlig den Blick dafür verloren und ich schreibe nur Unsinn.
PHP-Code:
foreach($_SESSION['cart'] as $key => $value){
$query = "SELECT * from `".$_SESSION['artikel-site']."` WHERE ARTIKEL_ID IN('".$articleString."')";
$result = mysql_query($query) ;
$data = mysql_fetch_array($result);
$artnr = $data["ARTNR"];
$netto = $data["NETTO"];
echo '<td>'.$artnr.'</td>';
echo '<td>'.$netto.' €</td>';
}
Übrigens brauche ich hier wohl tatsächlich `backticks` statt Hochkommas, weil ich Sonderzeichen im Tabellenname habe.
--> Sekunde. Ich merke gerade, da stimmt vorne und hinten was nicht. Ich geh das alles erst noch mal Schritt für Schritt durch bevor ich eure Zeit weiter in Anspruch nehmen.
Aber ich sage schon mal vielen Dank für eure Hilfe!!! Ich bin jetzt schon deutlich weiter.
Kommentar
-
Bringt mir hier nur in meinem Fall nichts, weil ich mit Sessions arbeite
Bzgl. der Code von #29 schaut überhaupt etwas seltsam aus..
1. Wo wird $articleString erzeugt? Sicher das das auserhalb der Schleife korrekt ist, also sich die Werte im Zuge der Schleife nicht ändern sollen?
2. Du baust eine foreach-Schleife und greifst in dieser kein einziges mal auf $key oder $value zu, warum dann die Schleife?
3. Query innerhalb des sinnlosen(?) foreach() das geht sicher besser. Queries in Schleifen sind grundsätzlich zu vermeiden bzw. gibt meist bessere alternativen.
4. Du musst auf mysql_fetch_array() auch eine Schleife machen, siehe die Beispiele in der Doku. Ich würde sowieso mysql_fetch_assoc() verwenden. http://php.net/manual/de/function.mysql-fetch-assoc.php
Ja, irgendwie sieht das alles seltsam aus, ohne weitere Details kann man aber nicht viel dazu sagen, das musst du fast selbst ausarbeiten - durch-debuggen (Links siehe weiter oben) oder machen lassen -> http://www.php.de/scriptboerse/
UND: mysql_ wird bald nicht mehr funkitonieren, weil es bald aus PHP rausfällt !
LGThe string "()()" is not palindrom but the String "())(" is.
Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
PHP.de Wissenssammlung | Kein Support per PN
Kommentar
Kommentar