html
<li class="msg">
<span>Photo1</span>
<div class="wid350">
<input type="file" id="photo1" name="photo1[]">
</div> <em id="photo_message" class=""></em>
</li>
<li class="msg">
<span>Photo2</span>
<div class="wid350">
<input type="file" id="photo2" name="photo2[]">
</div>
</li>
php(此处一些变量没有列出来)
$sql="SELECT * FROM permits_cards WHERE Staff_name ='$staff_name' AND Name='ARA_Permit'";
$result = mysqli_query($con,$sql);
$ara_num=mysqli_num_rows($result);
$i=0;
while($row=$result->fetch_assoc()){
if ($_FILES['photo1']['tmp_name'][$i]||$_FILES['photo2']['tmp_name'][$i]!=null)
{
$file_name1= $_FILES ['photo1'] ['name'][$i];
$file_name2= $_FILES ['photo2'] ['name'][$i];
$filePath1 = 'C:/Downloads/' . $staff_name . "/" .basename($file_name1);
$filePath2 = 'C:/Downloads/' . $staff_name . "/" .basename($file_name2);
$filePath = 'C:/Downloads/' . $staff_name;
if(!is_dir($filePath)) {
mkdir($filePath,0777,true);}
if (is_uploaded_file($_FILES['photo1']['tmp_name'][$i])&& is_uploaded_file($_FILES['photo2']['tmp_name'][$i])) {
$result = move_uploaded_file($_FILES['photo1']['tmp_name'][$i], $filePath1);
$result2 = move_uploaded_file($_FILES['photo2']['tmp_name'][$i], $filePath2);
$sql = "UPDATE permits_cards SET Types='$ARA_type[$i]',Entitlement1='$Entitlement1[$i]',Entitlement2='$Entitlement2[$i]',Entitlement3='$Entitlement3[$i]',Entitlement4='$Entitlement4[$i]',Card_No='$ara_card[$i]',Expiry_date='$ara_expiry[$i]',photo_name1='$file_name1',photo_name2='$file_name2',photo_address1='$filePath1',photo_address2='$filePath2'
WHERE Staff_name='$staff_name'AND Name='ARA_Permit' AND id='{$row["id"]}' ";
mysqli_query($con,$sql);
}}
$i++;}
选择文件,
提交表单后报错Fatal error: Call to a member function fetch_assoc() on boolean in C:\xampp\htdocs\modifypermits_processing.php on line 76,就是while($row=$result->fetch_assoc()){这一行报错,但是文件信息在数据库里已经更新了,而且如果只更新其他信息就不会报错。
<li class="msg">
<span>Photo1</span>
<div class="wid350">
<input type="file" id="photo1" name="photo1[]">
</div> <em id="photo_message" class=""></em>
</li>
<li class="msg">
<span>Photo2</span>
<div class="wid350">
<input type="file" id="photo2" name="photo2[]">
</div>
</li>
php(此处一些变量没有列出来)
$sql="SELECT * FROM permits_cards WHERE Staff_name ='$staff_name' AND Name='ARA_Permit'";
$result = mysqli_query($con,$sql);
$ara_num=mysqli_num_rows($result);
$i=0;
while($row=$result->fetch_assoc()){
if ($_FILES['photo1']['tmp_name'][$i]||$_FILES['photo2']['tmp_name'][$i]!=null)
{
$file_name1= $_FILES ['photo1'] ['name'][$i];
$file_name2= $_FILES ['photo2'] ['name'][$i];
$filePath1 = 'C:/Downloads/' . $staff_name . "/" .basename($file_name1);
$filePath2 = 'C:/Downloads/' . $staff_name . "/" .basename($file_name2);
$filePath = 'C:/Downloads/' . $staff_name;
if(!is_dir($filePath)) {
mkdir($filePath,0777,true);}
if (is_uploaded_file($_FILES['photo1']['tmp_name'][$i])&& is_uploaded_file($_FILES['photo2']['tmp_name'][$i])) {
$result = move_uploaded_file($_FILES['photo1']['tmp_name'][$i], $filePath1);
$result2 = move_uploaded_file($_FILES['photo2']['tmp_name'][$i], $filePath2);
$sql = "UPDATE permits_cards SET Types='$ARA_type[$i]',Entitlement1='$Entitlement1[$i]',Entitlement2='$Entitlement2[$i]',Entitlement3='$Entitlement3[$i]',Entitlement4='$Entitlement4[$i]',Card_No='$ara_card[$i]',Expiry_date='$ara_expiry[$i]',photo_name1='$file_name1',photo_name2='$file_name2',photo_address1='$filePath1',photo_address2='$filePath2'
WHERE Staff_name='$staff_name'AND Name='ARA_Permit' AND id='{$row["id"]}' ";
mysqli_query($con,$sql);
}}
$i++;}
选择文件,
提交表单后报错Fatal error: Call to a member function fetch_assoc() on boolean in C:\xampp\htdocs\modifypermits_processing.php on line 76,就是while($row=$result->fetch_assoc()){这一行报错,但是文件信息在数据库里已经更新了,而且如果只更新其他信息就不会报错。