簡體   English   中英

將數組綁定到mysqli准備好的語句

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM