PHP5/MYSQL 程式設計樂活學 |
|
lee
更新時間:2018/3/3 上午 12:26:58 |
|
Hi Sir 想問一下 php程式碼如下 <?php include("connMysql.php"); if (!@mysql_select_db("vessel")) die("Database failed"); if(isset($_POST["action"])&&($_POST["action"]=="update")){ $sql_query = "UPDATE `asset` SET "; $sql_query .= "`asset`='".$_POST["asset"]."',"; $sql_query .= "`sn`='".$_POST["sn"]."',"; $sql_query .= "`vessel_name`='".$_POST["vessel_name"]."',"; $sql_query .= "WHERE `cID`=".$_POST["cID"]; mysql_query($sql_query); header("Location:asset.php"); } $sql_db = "SELECT * FROM `asset` WHERE `cID`=".$_GET["id"]; $result = mysql_query($sql_db); $row_result = mysql_fetch_assoc($result); ?>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title> Asset update </title> </head> <body> <h1 align="center">Vessel Asset Management - Asset </h1> <p align="center"><a href="asset.php">回主畫面</a>.</p> <form action="" method="post" name="formfix" id="formfix"> <table border="1" align="center" cellpadding="4"> <tr> <th>欄位</th><th>資料</th> </tr> <tr> <td>Asset</td><td><input type="text" name="asset" id="asset" value="<?php echo $row_result["asset"];?>"></td> </tr> <tr> <td>SN</td><td><input type="text" name="sn" id="sn" value="<?php echo $row_result["sn"];?>"></td> </tr> <tr> <td>Vessel Name</td><td><input type="text" name="vessel_name" id="vessel_name" value="<?php echo $row_result["vessel_name"];?>"></td> </tr> <tr> <td colspan="2" align="center"> <input name="ID" type="hidden" value="<?php echo $row_result["cID"];?>"> <input type="submit" name="button" id="button" value="更新"> <input type="reset" name="button2" id="button2" value="重新填寫"> <input name="action" type="hidden" value="update"> </td> </tr>
</form> </table> </body> </html>
只是為什麼網頁會出現 Notice: Undefined index: id Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given 能請老師解惑一下
|
|
|
|
文淵閣工作室
更新時間:2018/3/4 下午 02:38:44 |
|
您好, 我們希望能以書上的範例進行討論, 這樣比較能聚焦。 您這個問題是因為在程式碼中, 您直接用$_GET['id'] 來當作SQL指令的接收值: $sql_db = "SELECT * FROM `asset` WHERE `cID`=".$_GET["id"]; 如果這一頁您直接瀏覽, 網址後方不會帶參數, 所以這裡您就接不到$_GET["id"]了! 好的做法應像上方先用一個判斷式看看是否有該值, 如 if(isset($_POST["action"])&&($_POST["action"]=="update")){ .... } |
|
|
|
|
|
|