2015-09-12 4 views
-2

Я вставляю данные, например, имя в мою базу данных, у которых есть идентификатор, который автоматически увеличивается. Я хочу получить идентификатор, с которым было вставлено имя после выполнения запроса на вставку. Код, который я использую для вставки данных, приведен ниже. Пожалуйста помоги.Получение ID из базы данных MySQL

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$name = htmlspecialchars(htmlentities($_POST['name'])); 
$name = mysqli_real_escape_string($conn,$name); 

$time = time(); 

$sql = "INSERT INTO store (name,time) values('$name','$time')"; 
if ($conn->query($sql) === TRUE) { 
    $id = mysql_insert_id(); 
    echo "<center>Saved</center>"; 
} else { 
    echo "<center>Error</center> " . $conn->error; 
} 
$conn->close(); 
+0

Вы должны использовать 'mysqli_insert_id();' вместо 'mysql_insert_id();' (mind the 'i'). – uri2x

+0

не смешиваются и не совпадают – Drew

+0

Когда я пытаюсь использовать 'mysqli_insert_id();' он говорит ** mysqli_insert_id() ожидает точно 1 параметр, 0 заданный в C: \ xampp \ htdocs \ cs \ save.php в строке 21 * * –

ответ

0

Прежде всего, вы смешиваете API-интерфейсы (которые были установлены в комментариях выше). Вы не может mix mysql_* и mysqli_* функции.

Вы в настоящее время используют

$id = mysql_insert_id(); 

, и это должно быть вместо этого

$id = $conn->insert_id; 

Поскольку вы используете объектно-ориентированный MySQLi, вы могли бы просто придерживаться его.

Смежные вопросы