Я пытаюсь захватить идентификатор после запроса с использованием mysql_insert_id();
, но я все еще получаю 0, несмотря на то, чтоmysql_insert_id(); постоянно возвращается «0»
- Я поместил ее после самого запроса и
- Я убедился, что идентификатор (называемый P_Id) имеет AUTO_INCREMENT.
код ниже:
$con=mysqli_connect(-connectiondetails-);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO clients (Name, Email, Address, Phone, Date, Service, ExtraOne, ExtraTwo, ExtraThree, ExtraFour, ExtraFive) VALUES ('$_POST[name]','$_POST[email]','$_POST[address]','$_POST[phone]','$_POST[date]','$_POST[service]','$_POST[extra1]','$_POST[extra2]','$_POST[extra3]','$_POST[extra4]','$_POST[extra5]')";
$idit = mysql_insert_id();
echo $idit;
if (mysqli_query($con,$sql))
{
}
else
{
echo "Error message goes here: " . mysqli_error($con);
}
Думая «О порядке может быть, я на самом деле запросить его первый», я сделал следующее, но подошел с тем же результатом:
$con=mysqli_connect(-connectiondetails-);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO clients (Name, Email, Address, Phone, Date, Service, ExtraOne, ExtraTwo, ExtraThree, ExtraFour, ExtraFive) VALUES ('$_POST[name]','$_POST[email]','$_POST[address]','$_POST[phone]','$_POST[date]','$_POST[service]','$_POST[extra1]','$_POST[extra2]','$_POST[extra3]','$_POST[extra4]','$_POST[extra5]')";
if (mysqli_query($con,$sql))
{
$idit = mysql_insert_id();
echo $idit;
}
else
{
echo "Error message goes here: " . mysqli_error($con);
}
Любая идея, где я пошла не так? Я прошел через другие темы, но ничего не работает для меня. Заранее спасибо.
EDIT: Я изменил mysql_insert_id(); to mysqli_insert_id(); и на этот раз он даже не вернул 0, просто пустое.
EDIT 2: Спасибо mbouzahir - ваше решение работало :)
mysqli_insert_id вместо mysql_insert_id – DavidLin
использования mysqli_insert_id ($ CON) – mbouzahir
Дон» t использовать эхо, чтобы увидеть значение $ idit, используйте var_dump ($ idit); таким образом, он не будет «пустым», как вы описали, но NULL –