我知道这个问题已经被回答过很多次了。我在这里尝试了一些解决方案,但都不起作用。我没有使用任何PHP框架。
我有一个正在进行的插入操作,我想要获取插入行的id。
下面是我的代码:
$qry="INSERT INTO tablename(content) VALUES('".$content."')";
setData($qry);setData()是一个执行插入操作的用户定义函数。
//for data submit
function setData($qry)
{
$obj=new DBCon();
$res=$obj->submitQuery($qry);
return $res;
}
//fetches result
function getData($qry)
{
$obj=new DBCon();
$res=$obj->selectQuery($qry);
return $res;
}这是我为建立数据库连接而创建的类:
class DBCon
{
private function getConnection()
{
// hostname, username, password, database
$con=mysqli_connect("localhost","root","","dbname")OR die('Could not Connect the Database');
return $con;
}
public function closeCon()
{
mysqli_close($con);
}
public function submitQuery($qry)
{
$result=0;
$con=$this->getConnection();
$result=mysqli_query($con,$qry);
return $result;
}
public function selectQuery($qry)
{
$con=$this->getConnection();
$res=mysqli_query($con,$qry);
return $res;
}
}为了获得最后插入的id,我编写了以下查询,但没有产生任何结果:
SELECT LAST_INSERT_ID() FROM tablename有没有其他方法可以达到这个目的呢?
发布于 2016-06-15 18:36:29
试试这个方法。
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('First Name', 'Last Name', 'first@example.com')";
if ($conn->query($sql) === TRUE) {
$last_id = $conn->insert_id;
echo "New record created successfully. Last inserted ID is: " . $last_id;
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}https://stackoverflow.com/questions/37832420
复制相似问题