2012-02-10 4 views
-3

J'ai un problème avec preg_match de php.Je veux faire quelque chose comme ceci: Quand quelqu'un sur le forum poste quelqu'un nom d'utilisateur (exemple: @Username texte ..) pour faire la requête mysql pour insérer une notification à la base de données.PHP preg match ne peut pas fonctionner

J'ai fait ce code:

<?php 
$this = mysql_query("SELECT id,username FROM users"); 
while($the = mysql_fetch_array($this)){ 
if(preg_match("/^@".$the['username']."/",$form_text)){ 
mysql_query("INSERT INTO notifications (num,who) VALUES ('$forum_id','".$the['username']."')"); 
}  
?> 

Mais quelque chose ne working.How puis-je résoudre ce problème? Merci.

Répondre

0

Essayez d'utiliser:

if (strpos($form_text , $the['username']) !== false) 

Hope this helps.

Edit: Vous devez également vous protéger contre les injections SQL, rechercher cette page: http://php.net/manual/en/security.database.sql-injection.php

+0

Il ne peut pas fonctionner .. MERCI – harisdev

+0

ÇA FONCTIONNE MAINTENANT !! – harisdev

+0

Pouvez-vous être plus précis quant à ce qui ne fonctionne pas, la recherche du texte occurance (nom d'utilisateur), l'insertion mysql, la notification? –