Katherynliza Ответов: 2

Как мне захватить идентификатор из одной таблицы, вставленной в пыльник?


Я хочу, чтобы идентификатор, соответствующий имени пользователя, был вставлен в информационную таблицу.
[Таблица Счетов]
[информационная таблица]
infosubmit.php
<?php
include "connection.php";
session_start();
$username = $_SESSION['username'];
$id = mysqli_query(" SELECT `id` FROM `account` WHERE `username` = '$username' limit 1");
$id = mysqli_real_escape_string($conn, $id);
$first = $_POST['first'];
$last = $_POST['last'];
$birthday =$_POST['birthday'];
$address = $_POST['address1'];
$weight = $_POST['weight'];
$height = $_POST['height'];
$sql = " INSERT INTO `information` (`id`, `first`, `last`, `birthday`, `address`, `weight`, `height`) 
							VALUES ('$id', '$first', '$last', '$birthday', '$address', '$weight', '$height') ";
if ($conn->query($sql) === TRUE) {
    $message = "New record created successfully";
} else {
    $message = "Error: " . $sql . "<br>" . $conn->error;
}
?>
<!DOCTYPE html>
	<head>
		<link rel="apple-touch-icon" sizes="180x180" href="images/favicons/apple-touch-icon.png">
		<link rel="icon" type="image/png" href="images/favicons/favicon-32x32.png" sizes="32x32">
		<link rel="icon" type="image/png" href="images/favicons/favicon-16x16.png" sizes="16x16">
		<link rel="manifest" href="manifest.json">
		<link rel="mask-icon" href="images/favicons/safari-pinned-tab.svg" color="#741372">
		<meta name="apple-mobile-web-app-title" content="Medical Database">
		<meta name="application-name" content="Medical Database">
		<meta name="theme-color" content="#741372">
		<link rel="stylesheet" href="style/main.css" type="text/css">
		<title>Information-Submitted</title>
	</head>
	<body>
		<menu>
			<ul>
				<li><a href="logout.php">Log Out</a></li>
			</ul>
		</menu>
		<?php echo $id; ?>
		<br><?php echo $message; ?>
	</body>
</html>


Что я уже пробовал:

глядя в интернете, добавил еще php с
mysqli_real_escape_string
&усилитель;
mysqli_query

2 Ответов

Рейтинг:
1

Peter Leow

Этот

mysqli_query(" SELECT `id` FROM `account` WHERE `username` = '$username' limit 1");
возвращает объект mysqli_result, а не значение id, которое вы думаете. Чтобы добраться до id vaiue, проверьте Пример (Тема Процессуальные)[^]. Всегда обращайтесь к официальному лицу РНР: в mysqli::запрос - руководство по эксплуатации[^].
Я также заметил, что вы используете код процедуры mysqli для select, но mysqli oo для insert. Вы должны принять только один стандарт для всего проекта.


Katherynliza

Извините, что я новичок в php. Что такое mysqli oo?

Peter Leow

MySQLi объектно-ориентированный. Посетите приведенные ссылки.

Рейтинг:
0

Sunasara Imdadhusen

Вы получите последний вставленный идентификатор, используя следующее:

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>


Katherynliza

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