【发布时间】:2012-06-09 23:37:03
【问题描述】:
我有一个 INSERT 函数,它在“Image”表的“ImageFile”字段中插入图像文件名,由于自动编号,每一行都有自己的 ImageId。下面是一个例子:
ImageId ImageFile
23 orange.jpg
24 flowers.png
25 castle.png
26 orange.jpg
我还想做的是将 ImageId 插入到另一个带有 QuestionId 和 SessionId 的表中,以便该表(Image_Question)可以使用 ImageId 将 Image 表与 Image Question 表链接起来。但是我该如何编码,以便当我在上表中插入图像详细信息时,它将检索它的 ImageId 并将其存储在 Image_Question 表中的 ImageId 中。下面的例子:
ImageId SessionId QuestionId
23 AAA 1
24 AAA 2
25 AAA 3
26 AAA 4
我已经对 SessionId 和 QuestionId 的 INSERT 值进行了编码,但只需要帮助来检索和插入 ImageId。以下是当前代码:
<?php
session_start();
//connect to db
$i = 0;
$insertimage = array();
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] ) ."'";
}
$imagesql = "INSERT INTO Question (ImageId, SessionId, QuestionId)
VALUES (" . implode('), (', $insertimage) . ")";
echo($imagesql);
mysql_close();
?>
【问题讨论】:
-
请停止使用古老的 MySQL 扩展编写新代码:它不再维护,社区已开始 deprecation process;您可以改用改进的MySQLi 扩展或PDO 抽象层。
-
@eggyal 查看您提供给我的文档,我是否只是将大部分代码从“mysql_...”更改为“mysqli_...”?
-
要使用 MySQLi,是的。甚至有tools 会为您进行转换。但是,正如该 wiki 所述,您还应该利用 prepared statements 可以带来的额外好处。