2017-11-06 14 views
1

先行ゼロを付けずにエコーしたいデータベース内のテーブルに番号があります。 トリムを削除すると、数字がエコーできますが、トリムがエコーしていない場合は、何か提案がありますか? コードは次のとおりです。php mysqlの先行ゼロを削除する

<?php 
    $msg = "SELECT TRIM(LEADING '0' FROM Phone) FROM members"; 
    $msgtxt = $pdo->query($msg); 
    $msgtxt->setFetchMode(PDO::FETCH_ASSOC); 
    while($ymsg=$msgtxt->fetch()){ 
     echo $ymsg['Phone']. ","; 
    } 
?> 

コードは機能していません。同じカラム名を取得する

SELECT TRIM(LEADING '0' FROM Phone) AS Phone FROM members 

:別名

+1

'のvar_dump($のYMSG)' ...あなたの結果が実際に含まれているかを確認するには! – deceze

+2

1つの問題は、PHPコードが 'Phone' ... '$ ymsg [' Phone '] 'として識別される配列要素を参照していますが、MySQLによって返された結果セットに' Phone'という名前の列は含まれていません。 – spencer7593

+0

あなたの電話番号が0に埋め込まれている場合、それは非常に深刻なバグや、ひどく汚れたデータのようなものです。 – tadman

答えて

4

使用。その後、echo $ymsg['Phone']. ",";が動作します。

+0

@WayeJあなたはあなたに最も合った答えを受け入れるべきです([回答の受け取りはどのように受け付けますか?](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235# 5235)) – lad2025

2

PHPで実行したい場合は、ltrimdocs)を使用できます。あなたの例ではそう

<?php 
$phone = '0009398349838'; 
// Remove leading 0s 
$phone = ltrim($phone, '0'); 
// Print new number 
echo $phone; 

<?php 
... 
while($ymsg=$msgtxt->fetch()){ 
    echo ltrim($ymsg['Phone'],'0'). ","; 
} 
... 
関連する問題