2016-10-14 3 views
0

У меня есть 2 таблицы в моей базе данныхRun 2 SQL Statement 2 разные таблицы

пользователей таблицы
user_id авто

table2 галерея
ID авто
user_id

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

Я попытался следующий

$connection = dbconnect(); 
$stmt = $connection->prepare('INSERT INTO users(user_email, username, user_pwd) VALUES (?,?,?)'); 
$stmt->bind_param('sss', $email, $username, $password); 
$stmt->execute(); 
$stmt->close(); 


$connection = dbconnect(); 
$last_row = mysqli_insert_id($connection); 


$connection = dbconnect(); 
$stmt2 = $connection->prepare('INSERT INTO gallery(user_id) VALUES (?)'); 
$stmt2->bind_param('s', $last_row); 
$stmt2->execute(); 
$stmt2->close(); 
+0

В чем проблема? –

+0

выполняется первый запрос, но он не будет вставлять последний идентификатор в идентификатор пользователя следующей таблицы – Case

+0

, чтобы выбрать max (user_id) из таблицы пользователя, а затем вставить его в таблицу галереи. –

ответ

1

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

$stmt = $connection->prepare('INSERT INTO users(user_email, username, user_pwd) VALUES (?,?,?)'); 
$stmt->bind_param('sss', $email, $username, $password); 
$stmt->execute(); 
$last_row = $stmt->insert_id; 
$stmt->close(); 

$connection = dbconnect(); 
$stmt2 = $connection->prepare('INSERT INTO gallery(user_id) VALUES (?)'); 
$stmt2->bind_param('s', $last_row); 
$stmt2->execute(); 
$stmt2->close(); 

Кроме того, если ваш user_id является целым числом, можно связать $last_row как «я».

Кроме этого, вы должны показать ошибку, которую вы получаете в своем вопросе.

+0

Ithere нет ошибки, просто не вставляйте последний id в таблицу галереи – Case

+0

Вы пытались использовать '$ stmt-> insert_id;' вместо этого? @Case :) – Ekin

+0

Отметьте, что * Я думаю *, он работал бы только до закрытия() – Ekin