我有一个数据库,包含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?
答案 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