如何将图像添加到 PHP 中的 SQL 服务器
How can I add images to SQL Server in PHP
我正在设计一种允许用户添加多个图像的表单。
不知道具体哪里出错了
代码有效并将图像添加到我的“图像设计”文件夹中。
但是图片的名称没有添加到数据库中,我没有看到任何错误?
我用SQL服务器
这是table
这是表格 (DesignSend.php)
<form action="imagesAdded.php" method="post" enctype="multipart/form-data" >
<input type="hidden" name="size5" value="10000000">
<label> image(1) </label>
<br>
<input type="file" name="image1"/>
<br><br>
<label> image(2)</label>
<br>
<input type="file" name="image2"/>
<br><br>
<label> image(3)</label>
<br>
<input type="file" name="image3"/>
<br><br>
<label> image(4)</label>
<br>
<input type="file" name="image4"/>
<br><br>
<label> image(5)</label>
<br>
<input type="file" name="image5"/>
<br> <br>
<label> note :</label>
<br>
<textarea name="noteTo" cols="40" row="4" placeholder="add note here ..."></textarea>
<br>
<input type="submit" name="upload" value="upload images" >
</form>
这是 (imagesAdded.php) 中的操作代码:
<?php
require_once "connect.php";
session_start();
$us=$_SESSION['usern'];
if(isset($_SESSION['usern'])) {
$cust_phone = $_POST['phoneid'];
if(isset($_POST['upload'])){
$cust_phone = $_POST['phoneid'];
$path1="./design-images/".basename($_FILES['image1']['name']);
$path2="./design-images/".basename($_FILES['image2']['name']);
$path3="./design-images/".basename($_FILES['image3']['name']);
$path4="./design-images/".basename($_FILES['image4']['name']);
$path5="./design-images/".basename($_FILES['image5']['name']);
$imgA=$_FILES['image1']['name'];
$imgB=$_FILES['image2']['name'];
$imgC=$_FILES['image3']['name'];
$imgD=$_FILES['image4']['name'];
$imgE=$_FILES['image5']['name'];
$noteTc=$_POST['noteTo'];
//$phoneNumber=$_POST['phoneid'];
$query2 = "INSERT INTO dbo.design_cust (design_a, design_b, design_c,design_d,design_e,textn)
VALUES(?, ? , ? , ? , ? )";
$params2 = array($imgA, $imgB,$imgC,$imgD,$imgE,$noteTc);
$result3 = sqlsrv_query($conn,$query2,$params2);
if(move_uploaded_file($_FILES['image1']['tmp_name'],$path1)
&& move_uploaded_file($_FILES['image2']['tmp_name'],$path2)
&& move_uploaded_file($_FILES['image3']['tmp_name'],$path3)
&& move_uploaded_file($_FILES['image4']['tmp_name'],$path4)
&& move_uploaded_file($_FILES['image5']['tmp_name'],$path5)
){
$msg="<p>images uploaded</p>";
echo $msg;
}else {
$msg="<p>there was a problem upload image </p>";
echo $msg;
}
}
}
?>
有人可以帮我吗?
只需替换这个
VALUES(?, ? , ? , ? , ? )
有
VALUES(?, ? , ? , ? , ? ,?)
因为传入的参数个数是6个,问号是5个
应该解决
我正在设计一种允许用户添加多个图像的表单。
不知道具体哪里出错了
代码有效并将图像添加到我的“图像设计”文件夹中。
但是图片的名称没有添加到数据库中,我没有看到任何错误?
我用SQL服务器
这是table
这是表格 (DesignSend.php)
<form action="imagesAdded.php" method="post" enctype="multipart/form-data" >
<input type="hidden" name="size5" value="10000000">
<label> image(1) </label>
<br>
<input type="file" name="image1"/>
<br><br>
<label> image(2)</label>
<br>
<input type="file" name="image2"/>
<br><br>
<label> image(3)</label>
<br>
<input type="file" name="image3"/>
<br><br>
<label> image(4)</label>
<br>
<input type="file" name="image4"/>
<br><br>
<label> image(5)</label>
<br>
<input type="file" name="image5"/>
<br> <br>
<label> note :</label>
<br>
<textarea name="noteTo" cols="40" row="4" placeholder="add note here ..."></textarea>
<br>
<input type="submit" name="upload" value="upload images" >
</form>
这是 (imagesAdded.php) 中的操作代码:
<?php
require_once "connect.php";
session_start();
$us=$_SESSION['usern'];
if(isset($_SESSION['usern'])) {
$cust_phone = $_POST['phoneid'];
if(isset($_POST['upload'])){
$cust_phone = $_POST['phoneid'];
$path1="./design-images/".basename($_FILES['image1']['name']);
$path2="./design-images/".basename($_FILES['image2']['name']);
$path3="./design-images/".basename($_FILES['image3']['name']);
$path4="./design-images/".basename($_FILES['image4']['name']);
$path5="./design-images/".basename($_FILES['image5']['name']);
$imgA=$_FILES['image1']['name'];
$imgB=$_FILES['image2']['name'];
$imgC=$_FILES['image3']['name'];
$imgD=$_FILES['image4']['name'];
$imgE=$_FILES['image5']['name'];
$noteTc=$_POST['noteTo'];
//$phoneNumber=$_POST['phoneid'];
$query2 = "INSERT INTO dbo.design_cust (design_a, design_b, design_c,design_d,design_e,textn)
VALUES(?, ? , ? , ? , ? )";
$params2 = array($imgA, $imgB,$imgC,$imgD,$imgE,$noteTc);
$result3 = sqlsrv_query($conn,$query2,$params2);
if(move_uploaded_file($_FILES['image1']['tmp_name'],$path1)
&& move_uploaded_file($_FILES['image2']['tmp_name'],$path2)
&& move_uploaded_file($_FILES['image3']['tmp_name'],$path3)
&& move_uploaded_file($_FILES['image4']['tmp_name'],$path4)
&& move_uploaded_file($_FILES['image5']['tmp_name'],$path5)
){
$msg="<p>images uploaded</p>";
echo $msg;
}else {
$msg="<p>there was a problem upload image </p>";
echo $msg;
}
}
}
?>
有人可以帮我吗?
只需替换这个
VALUES(?, ? , ? , ? , ? )
有
VALUES(?, ? , ? , ? , ? ,?)
因为传入的参数个数是6个,问号是5个
应该解决