[英]Bind array to mysqli prepared statement
存儲圖像的路徑/名稱的數組: $wall_filenames[]
$wall_filenames:
內容$wall_filenames:
Array ( [0] => wallpapers/2014/03/calendar-thumbnail-520x264.jpg [1] => wallpapers/2014/03/calendar-preview2-786x305.jpg )
MySQL查詢:
$sql = "INSERT INTO walls(wall_name, wall_thumbnail_path, wall_preview1_path,
wall_preview2_path, wall_preview3_path,
upload_date, d_1280x800_path, d_1366x768_path, d_1920x1080_path,
p_640x960_path, p_640x1136_path, p_720x1280_path, p_768x1280_path,
p_1080x1920_path, t_1024x768_path, t_2048x1536_path)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$insert_wall = $connectDB->prepare($sql);
所以問題是,該表包含幾列。 但是,當我插入一次時,不必上傳所有文件,在上面的示例中,我只上傳了兩個。 我需要做的是將這些數組元素添加到表中的適當列中。 在這種情況下,我希望將$wall_filenames[0]
存儲到wall_thumbnail_path
並將$wall_filenames[1]
到wall_preview2_path
。 我不確定如何使用bind_param()
綁定數組以指向表中的正確列。
調用bind_param
時包括數組索引:
$insert_wall->bind_param('sss...', $wall_name, $wall_filenames[0], $wall_filenames[1], ...);
要有創造力。
將常數存儲在數據庫中絕對沒有意義 。 只需制定一些命名策略,然后刪除所有這些路徑列,然后根據命名策略從磁盤檢查文件即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.