 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
06.04.2008, 23:12
|
#1
|
|
TP-Senior
Registriert seit: Jul 2004
Ort: Berlin West
|
Warning: in_array() - Fehler ?!?!
Moin Moin,
ich bekomme folgende Fehlermeldung und kann mir nicht erklären woran es liegt bzw. wie ich diese behoben bekomme:
Warning: in_array(): Wrong datatype for second argument in ..... Line ...
PHP-Code:
if (!in_array($name, $dbname) ) {
Ich habe mal bei Google geschaut aber nichts gescheites gefunden.
Trat bei jemanden schon einmal der Fehler auf und hat ihn behoben bekommen? Oder kann mir ein Fortgeschrittener weiterhelfen?
Wäre über eine Lösung wirklich sehr dankbar...
VG
Templi
__________________
CARPE DIEM
|
|
|
06.04.2008, 23:23
|
#2
|
|
TP-Moderator
Registriert seit: Feb 2003
Ort: Erfurt
|
Hier mal ein Beispiel von selfphp
PHP-Code:
$var_array = array("PHP", "ASP", "PERL", "C++");
if (in_array("PERL", $var_array))
echo 'String "PERL" gefunden!' . "\n";
if (!in_array("Perl", $var_array))
echo 'String "Perl" nicht gefunden!';
und noch eins
PHP-Code:
$array = array( array('a', 'b'),array('c', 'd'),'e');
if (in_array(array ('a', 'b'), $array)) {
echo '"ab" wurde gefunden' . "\n";
}
if (in_array(array ('a', 'c'), $array)) {
echo '"ac" wurde nicht gefunden' . "\n";
}
if (in_array('e', $array)) {
echo '"e" wurde gefunden' . "\n";
}
__________________
Schöne Grüße aus Thüringen
Stephan Page
Stell Dir vor, hier steht was und keiner liest es!! schon entdeckt?? F1 ist ne geile Taste
Ich beantworte keine E-Mails. Bitte alle Fragen ins Forum
schon gehört??? Das Internet ist voll, die lassen keinen mehr rein!!
|
|
|
06.04.2008, 23:38
|
#3
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Hier stellt sich wohl eher die Frage, was Du in den Vars stehen hast.
Die Meldung sagt ja ganz klar, das ein falscher Datentyp angegeben wurde.
|
|
|
07.04.2008, 00:28
|
#4
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Ihr macht es schwer das zu verstehen
boolean in_array(miced Suchbegriff, array Array)
der zweite Parameter muss ein Array sein, in Deinem Fall ist das ein String, und die freundliche Mitteilung sagt Dir das.
im Zweifelsfall nicht google sondern Manual: in_array
|
|
|
09.04.2008, 22:42
|
#5
|
|
TP-Senior
Registriert seit: Jul 2004
Ort: Berlin West
|
Ich will überprüfen ob ein Name bzw. Benutzername schon in der Datenbank vorhanden ist.
Ich lasse mir bei der Abfrage alle Benutzernamen in einem Array speichern, welches in diesem Fall "$dbname" benzeichnet wird.
Code:
$dbname[]=$row['username'];
Nach der Abfrage trenne ich die Arrayelemente durch ein Komma.
Code:
$user_check = explode(",","$dbname");
Danach dann die Abfrage ob Eingabe im Array bereits vorhanden oder nicht.
Code:
$name = strtolower($_POST[name]);
if (!in_array($name, $dbname) ) {
__________________
CARPE DIEM
|
|
|
09.04.2008, 23:09
|
#6
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
weil $dbname kein Array ist, siehst Du, das Deine Schleife nicht durchlaufen wird, also such dort den Fehler.
Ansonsten brauchst Du nur $dbname zu initialisieren:#
PHP-Code:
$dbname = array();
|
|
|
10.04.2008, 00:40
|
#7
|
|
TP-Senior
Registriert seit: Jul 2004
Ort: Berlin West
|
Ach ja siehst du *omG*
Vielen Dank.
__________________
CARPE DIEM
|
|
|
10.04.2008, 01:23
|
#8
|
|
TP-Senior
Registriert seit: Jul 2004
Ort: Berlin West
|
Klappt leider nicht so.
Kannst du mir eventuell ein wenig genauer helfen?
__________________
CARPE DIEM
|
|
|
10.04.2008, 01:31
|
#9
|
|
TP-Junior
Registriert seit: Nov 2007
|
hi,
Nur ne frage muss es dieser weg sein zu überprüfen ob der name schon vorhanden ist?
Schneller wäre doch jetzt ganz unsauber:
$result=mysql_fetch_array(mysql_query("SELECT name FROM user WHERE name=$checkname"));
if($result[0]==$checkuser)
{
echo "Username schon belegt";
}
Mfg
Flo
__________________
--------------------------
http://stanadard-networkz.de
Webspace Paket S
300 MB Webspace, 10 GB Traffic, 1x .de-domain
3,99€
|
|
|
10.04.2008, 09:45
|
#10
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
ich weiss ja nicht wie Du aus der DB liest. Mal echos eingesetzt?
Ansonsten musst Du schon Deinen Code posten, sonst kann man Dir nicht helfen.
|
|
|
10.04.2008, 15:22
|
#11
|
|
TP-Senior
Registriert seit: Jul 2004
Ort: Berlin West
|
Hallo Steffen,
schwierige Geburt hier. Sorry
Also ich hole mir das Array durch die Datenbankabfrage in einer while - Schleife.
Code:
$tabelle = "table";
$link = mysql_connect("localhost","user","passwd");
mysql_select_db("user", $link);
$sql = "
SELECT *
FROM $tabelle
";
$result = mysql_query($sql, $link);
if (!$result) echo "MYSQL FEHLER: ".mysql_error();
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
$dbname[]=$row['username'];
}
}
__________________
CARPE DIEM
|
|
|
10.04.2008, 23:09
|
#12
|
|
TP-Senior
Registriert seit: Jul 2004
Ort: Berlin West
|
Hallo hab meinen Fehler gefunden.
Hatte noch woanders ein "in_array" welches falsch deklarierte vars beinhaltete vielen Dank für eure Hilfe.
Grüße
Templi
__________________
CARPE DIEM
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:52 Uhr.
|
 |