CloudBreaker Posted July 25, 2015 Share Posted July 25, 2015 I realized when posting a new file to the database and it's it's folder that I needed to have a corresponding name ($name) which is entered into the form by the user. After the initial form is run, I set up a query that should grab the $name variable listed on line 154 now that it exists. That query starts on line 194. After that query is run, I assigned a local variable to the appropriate row so I can utilize it with the script that uploads the chosen files to a different table created just for uploaded files. I need this value inserted with the file so I can associate it with the RFI that the user will have created once he or she submits the form. When I submit form, the information that the user entered is successfully placed into the proper tables. The problem starts at line one 198 with two warnings. Any ideas? Thanks CB Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in B:\Programs\wamp\www\hsa\new_rfi.php on line 198 Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in B:\Programs\wamp\www\hsa\new_rfi.php on line 205 Notice: Undefined variable: rfiNo in B:\Programs\wamp\www\hsa\new_rfi.php on line 215 <?php $conn = mysqli_connect("localhost","root","","hsa_project_hub"); session_start(); if(!$_SESSION['user_loginName']){ header("location: index.php"); } else { ?> <link href='http://fonts.googleapis.com/css?family=Josefin+Sans' rel='stylesheet' type='text/css'> <style> form label { float: left; width: 150px; margin-bottom: 5px; margin-top: 5px; padding: 5px; } .clear { display: block; clear: both; width: 100%; } #rfi_container { background: #F0F0F0; font-family: 'Josefin Sans', sans-serif; font-weight: bold; color: #8F0000; } #files { background: yellow; display:block; } </style> <?php //Grab Session Variable $project_id = $_SESSION['project_id']; ?> <!DOCTYPE HTML> <html> <head> <title>New RFI</title> <link href="hsastyle.css" rel="stylesheet"> </head> <body> <div id="main_container"> <p><em>version 1.0 beta</em></p> <div id="banner"> <div id="logo"> <img src="images/hsa-logo.jpg" alt=HSA logo> </div> <div id="logout"><H5><a href="logout.php">Log Out</a></H5></div> <div id="welcome"><h6>Welcome <?php echo $_SESSION['firstName'];?></h6></div> <div id="project_name"> <strong><em><?php echo $_SESSION['projName']?></em></strong> </div> </div> <!--End Banner--> <div id="user_list"> <FORM> <INPUT Type="BUTTON" Value="Back to RFI List" Onclick="window.location.href='rfi_list.php'"> </FORM> </div> <div id="rfi_container"> <!--Create RFI for user input--> <form id="form1" name="form1" method="post" action="new_rfi.php" enctype="multipart/form-data"><br> <br class="clear" /> <label for="name">RFI NO.</label><input type="text" name="name" id="name" placeholder="Ex: 003" required="required" /> <br class="clear" /> <label for="subject">Subject</label><input type="text" name="subject" id="subject" placeholder="Ex: Discontinued floor finish" /> <br class="clear" /> <label for="date_submit">Date submitted:</label><input type="date" name="date_submit" id="date_submit" /> <br class="clear" /> <label for="needed_by">Date Needed by:</label><input type="date" name="needed_by" id="needed_by" /> <br class="clear" /> <label for="question">Question:</label><textarea name="question" id="question" required="required" cols="100" rows="5"></textarea> <br class="clear" /> <label for="gc_rsp">Contractor Suggestion:</label><textarea name="gc_rsp" id="gc_rsp" cols="100" rows="5"></textarea> <br class="clear" /> <label for="owner_rsp">Owner Response:</label><textarea name="owner_rsp" id="owner_rsp" cols="100" rows="5"></textarea> <br class="clear" /> <label for="engr_rsp">Engineer Response:</label><textarea name="engr_rsp" id="engr_rsp" cols="100" rows="5"></textarea> <br class="clear" /> <label for="arch_rsp">Architect Response:</label><textarea name="arch_rsp" id="arch_rsp" cols="100" rows="5"></textarea><br> <br class="clear" /> <label for="final_by">Final Response by:</label><select name="final_by" id="final_by"> <option></option> <option value="Architect">Architect</option> <option value="Owner">Owner</option> <option value="Structural Engineer">Structural Engineer</option> <option value="MEP Engineer">MEP Engineer</option> <option value="Civil Engineer">Civil Engineer</option> <option value="Landscape Architect">Landscape Architect</option> </select> <br class="clear" /> <label for="date_returned">Date Returned:</label><input type="date" name="date_returned" id="date_returned" /><br> <br class="clear" /> <label for="status">Status:</label><select name="status" id="status"> <option></option> <option value="CLOSED">CLOSED</option> <option value="at Architect">at Architect</option> <option value="at MEP Engineer">at MEP Engineer</option> <option value="at Structural Engineer">at Structural Engineer</option> <option value="at Civil Engineer">at Civil Engineer</option> <option value="at Landscape Architect">at Landscape Architect</option> <option value="at Owner">at Owner</option> <option value="at General Contractor">at General Contractor</option> </select> <br class="clear" /><br> <input type="file" name="files[]" multiple="" /> <br class="clear" /><br> <center><input type="submit" name="submit_data" id="submit_data" value="Submit RFI" /></center> </form> <br> <?php //Enter info in database if(isset($_POST['submit_data'])){ //Getting the form information and saving in local variables $name = mysqli_real_escape_string($conn,$_POST['name']); $subject = mysqli_real_escape_string($conn,$_POST['subject']); $date_submit = mysqli_real_escape_string($conn,$_POST['date_submit']); $needed_by = mysqli_real_escape_string($conn,$_POST['needed_by']); $question = mysqli_real_escape_string($conn,$_POST['question']); $gc_rsp = mysqli_real_escape_string($conn,$_POST['gc_rsp']); $owner_rsp = mysqli_real_escape_string($conn,$_POST['owner_rsp']); $engr_rsp = mysqli_real_escape_string($conn,$_POST['engr_rsp']); $arch_rsp = mysqli_real_escape_string($conn,$_POST['arch_rsp']); $final_by = mysqli_real_escape_string($conn,$_POST['final_by']); $date_returned = mysqli_real_escape_string($conn,$_POST['date_returned']); $status = mysqli_real_escape_string($conn,$_POST['status']); // Creating local variable for query from Session variable $first_name = $_SESSION['firstName']; $sql = " INSERT INTO rfis ( id, name, subject, issued_by, date_submit, needed_by, question, gc_rsp, owner_rsp, engr_rsp, arch_rsp, final_by, date_returned, status ) VALUES ( '$project_id', '$name', '$subject', '$first_name', '$date_submit', '$needed_by', '$question', '$gc_rsp', '$owner_rsp', '$engr_rsp', '$arch_rsp', '$final_by', '$date_returned', '$status' ) "; if (mysqli_query($conn, $sql)) { echo "Success with first query"; //echo "<script>alert('RFI added successfully')</script>"; //echo "<script>window.open('rfi_list.php','_self')</script>"; //} else { //echo "Error: " . $sql . "<br>" . mysqli_error($conn); } } ?> <?php $sql = "select rfis.id,rfis.name\n" . "from rfis\n" . "where rfis.$project_id"; $result=mysqli_query($conn,$sql); $row=mysqli_fetch_assoc($result); $i=0; $run = mysqli_query($conn, $sql); //assign values to local variables while($row=mysqli_fetch_array($run)){ $rfiNo =$row["name"]; $i++; } ?> <?php echo $project_id; //test echo echo $rfiNo; //test echo //Choose files to be uploaded if(isset($_FILES['submit_data'])){ $errors= array(); foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){ $rfi_fileName = $key.$_FILES['files']['name'][$key]; $rfi_fileSize =$_FILES['files']['size'][$key]; $file_tmp =$_FILES['files']['tmp_name'][$key]; $rfi_fileType =$_FILES['files']['type'][$key]; if($rfi_fileSize > 8097152){ $errors[]='File size must be less than 8 MB'; } $query="INSERT into rfi_files (`rfi_id`,`rfi_project_id`,`rfi_fileName`,`rfi_fileSize`,`rfi_fileType`) VALUES('$rfiNo','$project_id','$rfi_fileName','$rfi_fileSize','$rfi_fileType'); "; $desired_dir="rfi_files"; if(empty($errors)==true){ if(is_dir($desired_dir)==false){ mkdir("$desired_dir", 0700); // Create directory if it does not exist } if(is_dir("$desired_dir/".$rfi_fileName)==false){ move_uploaded_file($file_tmp,"rfi_files/".$rfi_fileName); }else{ //rename the file if another one exists $new_dir="rfi_files/".$rfi_fileName.time(); rename($file_tmp,$new_dir) ; } mysqli_query($conn,$query); }else{ print_r($errors); } } if(empty($error)){ echo "Success"; } } ?> <!--<div id="files"><a href="rfi_files<?php// echo $rfiFilename;?>"><?php //echo $rfiFilename;?></a></div> USE LATER TO SHOW LINK FOR DOWNLOAD--> <?php } ?> <div><!--end of container--> </body> </html> Quote Link to comment https://forums.phpfreaks.com/topic/297469-mysqli-fetch-assoc-warning/ Share on other sites More sharing options...
Solution ginerjm Posted July 25, 2015 Solution Share Posted July 25, 2015 Those message tell you that your query is not running and producing the proper result in the 'output' variable. Test the result of every query you run to be sure it ran. Turn on error checking as well (my signature). Quote Link to comment https://forums.phpfreaks.com/topic/297469-mysqli-fetch-assoc-warning/#findComment-1517363 Share on other sites More sharing options...
CloudBreaker Posted July 26, 2015 Author Share Posted July 26, 2015 Just needed a good night sleep. Quote Link to comment https://forums.phpfreaks.com/topic/297469-mysqli-fetch-assoc-warning/#findComment-1517448 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.