对于测验网站,我正在为一个问题创建一个记录,并希望直接得到它的问题所以我可以用它来创建答案记录。在INSERT中创建的questionid是自动生成的序列值。
我是PHP的新手,无法弄清楚我是如何得到这个值的,因为这个id是唯一能够识别这个新创建的记录的唯一方法。反正有没有这样做?
这是我创建新记录的代码。
$questioncreatequery = pg_query("INSERT INTO question (questionid, quizid, questiontype, qdescription, qfilelocation, noofanswers, answertype) VALUES( default, '".$thisquizid."', '".$questiontype."', '".$qdescription."', '".$qfilelocation."', '".$noofanswers."', '".$answertype."')");
感谢您的时间。
答案 0 :(得分:2)
获得所需内容的最简单方法是使用RETURNING
子句,从INSERT
语句中返回一个值:
$questioncreatequery = pg_query("INSERT INTO question (questionid, quizid, questiontype, qdescription, qfilelocation, noofanswers, answertype) VALUES( default, '".$thisquizid."', '".$questiontype."', '".$qdescription."', '".$qfilelocation."', '".$noofanswers."', '".$answertype."') RETURNING questionid");
然后您可以像查询结果一样使用$questioncreatequery
并获取您的价值:
$row = pg_fetch_assoc($questioncreatequery);
echo $row['questionid']; // <= this is the value you want