strpos funktioniert einfach nicht

Amschti

Erfahrenes Mitglied
ich kapiers nicht, eigentlich sollte das ja gehen****?
dashalb ganz kurz, vieleicht findet ihr ja den fehler...

ich habe verschiedene db's erstellt die mit den buchstaben gd_ beginnen, diese sollen jetzt ausgelesen werden...
PHP:
$result = mysql_list_tables($mysqldb);
$num_rows = mysql_num_rows($result);
echo mysql_error(); ///Keinn Fehler
for ($i = 0; $i < $num_rows; $i++) {

$string = mysql_tablename($result,$i);

$find = 'gd';

$go = strpos($find,$string);
  if(go !== false)
  { echo '<div class="option">fehler</div>'; }
else
  {echo '<div class="option">'.mysql_tablename($result, $i).'</div>';
  }

oder geht das nicht mit einer mysql ausgabe?
 
Code:
if(go !== false)


strpos gibt bei Erfolg "true" zurück, nicht "false" ;)

Und "go" ist keine Konstante, sondern eine Variable
 
ok, das mit der konstanten hab ich übersehen! danke!

funktioniert aber trotzdem nicht :( !== false ist ja gleichbedeutend mit === true ?

macht doch keinen unterschied? oder hat sich das in den letzten tagen geändert? :)
 
ok, das mit der konstanten hab ich übersehen! danke!

funktioniert aber trotzdem nicht :( !== false ist ja gleichbedeutend mit === true ?

macht doch keinen unterschied? oder hat sich das in den letzten tagen geändert? :)


------- Sorry habe die variablen später nochmal vertauscht... :) wollte wissen ob ich da den fehler habe... jetzt funktioniert es aber wieder wunderbar****** :) danke !!
 
Ja, bei "!== false" kommt das leiche raus wie "=== true", dann solltest du aber entweder die Fehler-Ausgabe umtausche, oder aus dem "!==" ein "===" machen, denn diese ist dann falsch :D
 
PHP:
$go = strpos($find,$string);
Hier liegt dein Fehler.

Der richtige Aufbau von strpos ist wie folgt:
PHP:
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

Dies bedeutet dein Code müsste so Aussehen
PHP:
$go = strpos($string, $find);

Das kannst du auch hier nachlesen.
 

Neue Beiträge

Zurück