PHP MYSQL CRUD(创建读取更新删除)应用程序更新错误

时间:2014-10-21 15:13:40

标签: php mysql

我一直在研究PHP MYSQL CRUD(创建读取更新删除)应用程序但是我遇到了update-(edit.php)脚本,错误消息反映在以下行中:if($_POST["do"]=="update")说明:undefined index 'do'我收到此错误消息:mysqli_query() expects 2 parameters返回:$result=mysqli_query($query);和另一个类似的mysqli_fetch_array() expects parameter 1 to be mysqli_result,请参阅:while($row=mysqli_fetch_array($result)) 我一直试图解决它过去2天我想知道是否有一些额外的眼睛和你的知识可以帮助我指出错误。                         

<?php

if($_POST["do"]=="update"){

     $terminal=$_POST["terminal"];
     $acquirer=$_POST["acquirer"];
     $acquirer_name=$_POST["acquirer_name"];
     $acquirer_agent=$_POST["acquirer_agent"];
     $merchant_name=$_POST["merchant_name"];
     $multilink_terminal=$_POST["multilink_terminal"];
     $country=$_POST["country"];
     $parish=$_POST["parish"];
     $area=$_POST["area"];
     $location=$_POST["location"];
     $venue=$_POST["venue"];
     $status=$_POST["status"];
     $date_online=$_POST["date_online"];

$query="update terminal_ncb_jan_jun   set    
                                            acquirer='$acquirer',
                                             acquirer_name='$acquirer_name',
                                             acquirer_agent='$acquirer_agent',
                                             merchant_name='$merchant_name',
                                             multilink_terminal='$multilink_terminal',
                                             country='$country',
                                             parish='$parish',
                                             area='$area',
                                             location='$location',
                                             venue='$venue',
                                             status='$status',
                                             date_online='$date_online'

                                             where terminal=$terminal";

mysqli_query($query);
}




$terminal=$_GET["terminal"];

$query="select * from terminal_ncb_jan_jun where terminal='$terminal'";

$result=mysqli_query($query);

while($row=mysqli_fetch_array($result)){ 
?>



<form name="update" method = "post" action ="edit.php">


<table>
<tr>
<td>Terminal</td>
<td><?php echo $row[0];?><input type="hidden" name="terminal" value="<?php echo $row[0];?>"></td>

<td>Acquirer Name</td>
<td><input type="text" name="acquirer_name" value="<?php echo $row[1];?>" disabled="disabled"></td>

<td>Acquirer Agent</td>
<td><input type="text" name="acquirer_agent" value="<?php echo $row[2];?>"></td>

<td>Merchant Name</td>
<td><input type="text" name="merchant_name" value="<?php echo $row[3];?>"> </td>

<td>MultiLink Terminal</td>
<td><input type="text" name="multilink_terminal" value="<?php echo $row[4];?>"> </td>

<td>Country</td>
<td><input type="text" name="country" value="<?php echo $row[5];?>"></td>

<td>Parish</td>
<td><input type="text" name="parish" value="<?php echo $row[6];?>"></td>

<td>Area</td>
<td><input type="text" name="area" value="<?php echo $row[7];?>"></td>

<td>Location</td>
<td><input type="text" name="location" value="<?php echo $row[8];?>"></td>

<td>Venue</td>
<td><input type="text" name="venue" value="<?php echo $row[9];?>"></td>

<td>Status</td>
<td><input type="text" name="status" value="<?php echo $row[10];?>"></td>

<td>Date Online</td>
<td><input type="text" name="date_online" value="<?php echo $row[11];?>"></td>
</tr>

<tr>
<td><input type="hidden" name ='do' value ='update'><input type='submit' value="UPDATAE RECORD"></td>
</tr>



<?php } ?>
</table>
</form>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

第一个问题是$ _POST ['do']没有值,因此不会为你的if实例化。检查它是否正确传递到您的更新页面,并通过简单地在if之前回显它来获得值。解决它。

关于mysql params的第二个问题是你实际上并没有在你的脚本中的任何地方打开你的mysql连接,所以它不能运行mysql_query。

修复问题2也将解决所有其他问题。

最后,因为看起来你刚刚学习不使用mysql_函数使用PDO或者至少使用mysqli和预处理语句。