如果用户在数据库中存在,如何获取用户ID?

时间:2017-09-29 07:00:08

标签: php mysql sql pdo

我有一个数据库,包含2个表,它们之间有一对多关系。

第一个表"数据"有(姓名,电话,人格)栏目。

第二个表"链接"有(linkid,link,personid)列。

如果他已存在于数据表中,我想插入一个人的链接的新链接。

$statement = $connect->prepare("SELECT * FROM data WHERE name = :sname AND phone = :sphone");  
$statement->execute(array('sname' => $name , 'sphone' => $phone));  
$count = $statement->rowCount();


if($count > 0){    
$st = $connect->prepare("SELECT personid FROM data WHERE name = :sname AND phone = :sphone");   
$id = $st->execute(array('sname' => $name , 'sphone' => $phone));

如果用户存在使用它来插入链接的新链接,我想获取ID,那么我怎么能得到ID?

1 个答案:

答案 0 :(得分:1)

如果您只期望一列,则可以使用fetchColumn()

$st = $connect->prepare("SELECT personid FROM data WHERE name = :sname AND phone = :sphone");   
$st->execute(array('sname' => $name , 'sphone' => $phone));
$personID = $st->fetchColumn();

如果您希望单行返回,也可以使用fetch()

$st = $connect->prepare("SELECT personid FROM data WHERE name = :sname AND phone = :sphone");   
$st->execute(array('sname' => $name , 'sphone' => $phone));
$row= $st->fetch(PDO::FETCH_ASSOC);
$personID = $row['personid'];

$personID应该保存查询返回的personid列中的数据

注意: 如果您已在连接中设置了获取样式,则可以省略PDO::FETCH_ASSOC