开发者

php error Undefined variable: result1 help!

开发者 https://www.devze.com 2023-02-28 22:56 出处:网络
I\'m trying to troubleshoot this code and I\'m getting this error and I do not know how to fix it: Undefined variable: result1 in plainview.php on line 44

I'm trying to troubleshoot this code and I'm getting this error and I do not know how to fix it: Undefined variable: result1 in plainview.php on line 44

here is the code:

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");


$sql="SELECT * FROM $tbl_name WHERE depot = 'plainview'";
$result=mysql_query($sql);

// Count table rows
$count=mysql_num_rows($result);

//error reporting
error_reporting(E_ALL); ini_set('display_errors', '1');


//update
if(isset($_POST['Submit'])){
for($i=0;$i<$count;$i++){

$sql1 = "UPDATE $tbl_name SET 

available='".mysql_real_escape_string($_POST['available'][$i])."', 
rent='".mysql_real_escape_string($_POST['rent'][$i])."',  
corp_ready='".mysql_real_escape_string($_POST['corp_ready'][$i])."', 
down='".mysql_real_escape_string($_POST['down'][$i])."',  
gfs='".mysql_real_escape_string($_POST['gfs'][$i])."', 
dateTime = NOW()   
WHERE id='".$id[$i]."'";



$result1 = mysql_query($sql1) or die(mysql_error());
}
}

//redirect
if($result1){
header("location: plainview.php");
}




mysql_close();
?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script language="JavaScript1.1" type="text/javascript">
<!--
function mm_jumpmenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<title>Untitled Document</title>
</head>

<body>

<div>
    <p>Plainview, North East Region</p>
    <p>Select a different region: <select onchange="mm_jumpmenu('parent',this,0)" name="lostlist">
                <option value="" selected="selected">Choose Your Depot</option>
                <option value="plainview.php">Plainview</option>
                <option value="worcrester.php">Worcrester</option>

                </select></p>
</div><Br />

<table width="500" border="0" cellspacing="1" cellpadding="0">
<form name="form1" method="post" action="">
<tr>
<td>
<table width="700" border="0" cellspacing="1" cellpadding="0">

<tr>
<td>ID</td>
<td align="center"><strong>Product Name</strong></td>
<td align="center"><strong>Available</strong></td>
<td align="center"><strong>Rent</strong></td>
<td align="center"><strong>Corp Ready</strong></td>
<td align="center"><strong>Down</strong></td>
<td align="center"><strong>GFS</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td align="left"><?php $id[]=$rows['id']; ?><?php echo $rows['id']; ?></td>

<td align="left"><?php echo $rows['product']; ?></td>
<td align="center"><input name="available[]" type="text" id="available" value="<?php echo $rows['available']; ?>" size="5"></td>
<td align="center"><input name="rent[]" type="text" id="rent" value="<?php echo $rows['rent']; ?>" size="5"></td>
<td align="center"><input name="corp_ready[]" type="text" id="开发者_运维问答corp_ready" value="<?php echo $rows['corp_ready']; ?>" size="5"></td>
<td align="center"><input name="down[]" type="text" id="down" value="<?php echo $rows['down']; ?>" size="5" /></td>
<td align="center"><input name="gfs[]" type="text" id="gfs" value="<?php echo $rows['gfs']; ?>" size="5"></td>

</tr>
<?php
}
?>
<tr>
<td colspan="4" align="center"><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</td>
</tr>
</form>
</table>



</body>
</html>

Please help! I'm an amateur at PHP and any help would be appreciated....


$result1 is only getting set inside a for loop, inside an if statement. If the if fails, it's never defined, so the if($result1) gives that error. Set $result1 = false before your if statement. Better yet, move the if statement to surround the entire code block, including the database connection and disconnection stuff.


In line 44 $result is undefined, if

if ( isset( $_POST['Submit'] )) {
 ...
 $result1 = mysql_query($sql1) or die(mysql_error());
}

deflects its block, since you didn't posted the request or $_POST['Submit'] isn't defined.

Preset $result1 with a default value of FALSE.


You only define $result1 if the script was invoked via a POST operation. As such,

if($result1){
    header("location: plainview.php");
}

will issue that warning anytime you're NOT in a POST situation.

As well, on another note, you're closing the mysql connection BEFORE you fetch rows to generate your HTML. This will kill your page output, as the results have not been "fetched" yet at the time you close the connection.

0

精彩评论

暂无评论...
验证码 换一张
取 消