阵列,其存储的路径/图像的名称:$wall_filenames:
绑定阵列mysqli的准备语句
Array ([0] => wallpapers/2014/03/calendar-thumbnail-520x264.jpg [1] => wallpapers/2014/03/calendar-preview2-786x305.jpg)
MySQL查询的 $wall_filenames[]
内容:
$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()
将数组绑定到表中正确的列。
$insert_wall->bind_param('sss...', $wall_name, $wall_filenames[0], $wall_filenames[1], ...);
http://stackoverflow.com/a/17874410/285587的副本 –
@YourCommonSense这似乎不太相似。这个问题是关于需要绑定的可变数量的列。 – Barmar
@barmar确切 –