簡體   English   中英

保存字符串的最后10位數字

[英]Saving last 10 digits of string

我目前正在使用API​​將用戶的手機號碼保存到數據庫中

public function save_user_phonebook_record($data)
{
    $mobile=str_replace('+','0',$data['mobile']);
    $mobile=str_replace(' ','',$mobile);
    $mobile=substr($mobile, -10);
    $params = array(':mobile' => $mobile, ':user_id' => $data['user_id']);
    $sql = "SELECT * FROM friends where mobile=:mobile AND user_id=:user_id";
    $stmt = parent::query($sql, $params);
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) :
        $res=$row;
    endwhile;
    if(count($res)<1)
    {
        $sql = 'INSERT INTO friends (user_id, name, mobile) 
        VALUES(:user_id, :name, :mobile)';
        $params =(array(
            ':user_id' => $data['user_id'],
            ':name' => $data['name'],
            ':mobile' => $data['mobile']
        ));
        parent::query($sql, $params) or die(parent::$dbh->errorInfo());
    }
}

使用的API

$client->save_phonebook(array('key'=>$api_key, 'user_id'=>'25349', 'phonebook'=>json_encode(array(array('name'=>'XXXXX Jain',"mobile"=>"+919876543210"),array('name'=>'xxxxxx Verma',"mobile"=>"09876543210")))));

雖然我已經把$mobile=substr($mobile, -10);放到表mobile中+919812345678,09876543210,但移動電話中存儲的手機號碼另存為+919812345678,09876543210, $mobile=substr($mobile, -10); 僅保存數字的最后10位數字,但由於某種原因似乎不起作用

您需要在此處進行更改,將$data['mobile']替換為$mobile

$params =(array(
            ':user_id' => $data['user_id'],
            ':name' => $data['name'],
            ':mobile' => $mobile
        ));

您正在$mobile上應用substr()

使用$mobile代替$data['mobile']

或者,對$data['mobile']執行substr()

$data['mobile'] = substr($data['mobile'], -10);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM