2014-06-07 91 views
0

所以我的數據庫中有很多有問題的值。 有兩列,一個是電子郵件。有些電子郵件是以這種方式存儲的[email protected],在起始處的引號是無用的。我希望將其轉換爲[email protected]。 同樣,還有另一個領域稱爲公司,其中有像這樣的數據stackoverflow「,末尾的引號也需要被刪除。從字符串中刪除多餘的引號

我寫了這段代碼,但由於某些原因,這並不刪除引號。 我在做什麼錯? 歡迎任何建議。

global $conn; 
     try 
     { 
      $statement= $conn->query("SELECT * from emails"); 
      $statement->setFetchMode(PDO::FETCH_ASSOC); 
      while($rows = $statement->fetch()) 
      { 
       $email=$rows['emailid']; 
       $company=$rows['company']; 
       $len = strlen($company); 
       if($email{0} == '"') 
       { 
        //problem at start 
        //fix there. 
        $updated = substr($email, 1); 
        //now update 
        try 
        { 
         $statement = $conn->prepare("UPDATE emails set emailid = :email where indexid = :indexid"); 
         $statement->bindParam(':email',$updated); 
         $statement->bindParam(':indexid',$row['indexid']); 
         $statement->execute(); 
         $statement->closeCursor(); 
         return true; 
        } 
        catch(PDOException $e) 
        { 
         echo $e->getMessage(); 
        } 
       } 
       elseif($company{$len-1} == '"') 
       { 
        $updated = substr($company, 0, -1); 
        //now update 
        try 
        { 
         $statement = $conn->prepare("UPDATE emails set company = :company where indexid = :indexid"); 
         $statement->bindParam(':company',$updated); 
         $statement->bindParam(':indexid',$row['indexid']); 
         $statement->execute(); 
         $statement->closeCursor(); 
         return true; 
        } 
        catch(PDOException $e) 
        { 
         echo $e->getMessage(); 
        } 
       } 
       else 
       { 
        echo ""; 
       } 
      } 
     } 
     catch(PDOException $e) 
     { 
      echo $e->getMessage(); 
     } 
+1

爲什麼不'str_replace'? –

+0

你在if語句中返回true;它只會運行一次,因爲返回會終止循環。如果這不是問題 - 請添加一些調試。 SQL語句是否正在運行?它是否選取正確的條目?你的substr調用是否工作?找出哪個部分不工作。 – andrewsi

+0

你可以刪除不必要的字符串一次在數據庫中使用MySQL'替換'功能 –

回答

1

您可以使用修剪:

trim($text, " \"'"); 

它從開始和結束text可變刪除空格和引號

相關問題