У меня есть функция INSERT, где она вставляет имя файла изображения в поле «ImageFile» в таблице «Изображение», каждая строка имеет собственный ImageId, благодаря автоматическому номеру. Примером этого является ниже:Почему данные не вставлены в базу данных mysql, используя php?
ImageId ImageFile
23 orange.jpg
24 flowers.png
25 castle.png
26 orange.jpg
То, что я хочу сделать, это также вставить ImageID в другую таблицу с QuestionID и SESSIONID так, что эта таблица (Image_Question) можно использовать ImageID связать таблицу изображения с Image Question table. Теперь я пытаюсь использовать mysql_insert_id для извлечения ImageId из таблицы изображений и сохранения его в ImageId в таблице Image_Question.
Но я не могу понять, что мне нужно сделать, в то время как значения INSERTING в таблице изображений работают нормально, но не вставляют никаких значений внутри таблицы Image_Question.
Итак, мой вопрос касается каждой строки, вставленной в таблицу изображений, как я могу извлечь ImageId из таблицы изображений после того, как она была вставлена в таблицу изображений, и вставить ее в таблицу Image_Question с помощью mysql_insert_id()? Пример ниже:
ImageId SessionId QuestionId
23 AAA 1
24 AAA 2
25 AAA 3
26 AAA 4
Я закодированы значения вкладышем для SESSIONID и QuestionID, но просто нужна помощь извлечения и вставки ImageID. Ниже приведен текущий код:
<?php
session_start();
//connect to db
$result = 0;
$i = 0;
$insertimage = array();
move_uploaded_file($_FILES["fileImage"]["tmp_name"],
"ImageFiles/" . $_FILES["fileImage"]["name"]);
$result = 1;
$imagesql = "INSERT INTO Image (ImageFile)
VALUES ('ImageFiles/".mysql_real_escape_string($_FILES['fileImage']['name'])."')";
mysql_query($imagesql);
for($i = 0; $i < $c; $i++){
$insertimage[] = "'".
mysql_real_escape_string($_SESSION['id']) .
($_SESSION['initial_count'] > 1 ? $_SESSION['sessionCount'] : '') ."' ,'".
mysql_real_escape_string($_POST['numQuestion'][$i]) ."'";
}
$imageinsertsql .= "INSERT INTO Image_Question
(ImageId, SessionId, QuestionId)
VALUES
((SELECT ImageId FROM Image ORDER BY ImageId DESC LIMIT 1),
" . implode('), (', $insertimage) . ")";
mysql_query($imageinsertsql);
}
mysql_close();
?>
У меня есть старая версия PHP 5.2.13, потому что это версия сервера университета.
Я думал, что это решение здесь? http://stackoverflow.com/questions/10915022/how-to-retrive-imageid-and-insert-it-into-another-table/10915261#10915261 – sephoy08
Возможный дубликат [Как получить ImageId из одной таблицы db и сохранить это в другой таблице db] (http://stackoverflow.com/questions/10924346/how-to-retrieve-imageid-from-one-db-table-and-store-it-in-another-db-table) –
Когда вы задаете вопрос «не работает», пожалуйста, напишите сообщения об ошибках, которые вы получите. Вам нужно включить параметры регистрации/регистрации ошибок PHP, такие как 'display_errors', если вы не видите ошибку. –