我目前正在使用一个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")))));
移动电话表中存储的移动电话号码保存为+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);