php mysql简单更新:无法读取值
可能是个愚蠢的问题,但是。。。 我有一个PHP和MySQL的示例,它不工作。。。 有3个php文件:php mysql简单更新:无法读取值,php,mysql,Php,Mysql,可能是个愚蠢的问题,但是。。。 我有一个PHP和MySQL的示例,它不工作。。。 有3个php文件: list_records.php update.php 更新_ac.php 问题是第三个不能从第二个读取变量。我做错了什么 以下是我的文件/代码: list_records.php <?php $host="localhost"; // Host name $username="root"; // Mysql username $password=""; // Mysql passwo
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="test_mysql"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<table width="400" border="1" cellspacing="0" cellpadding="3">
<tr>
<td colspan="4"><strong>List data from mysql </strong> </td>
</tr>
<tr>
<td align="center"><strong>Name</strong></td>
<td align="center"><strong>Lastname</strong></td>
<td align="center"><strong>Email</strong></td>
<td align="center"><strong>Update</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td><?php echo $rows['name']; ?></td>
<td><?php echo $rows['lastname']; ?></td>
<td><?php echo $rows['email']; ?></td>
<td align="center"><a href="update.php?id=<?php echo $rows['id']; ?>">update</a></td>
</tr>
<?php
}
?>
</table>
</td>
</tr>
</table>
<?php
mysql_close();
?>
列出mysql中的数据
名称
Lastname
电子邮件
更新
update.php
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="test_mysql"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// get value of id that sent from address bar
$id=$_GET['id'];
// Retrieve data from database
$sql="SELECT * FROM $tbl_name WHERE id='$id'";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<form name="form1" method="post" action="update_ac.php">
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td> </td>
<td colspan="3"><strong>Update data in mysql</strong> </td>
</tr>
<tr>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
</tr>
<tr>
<td align="center"> </td>
<td align="center"><strong>Name</strong></td>
<td align="center"><strong>Lastname</strong></td>
<td align="center"><strong>Email</strong></td>
</tr>
<tr>
<td> </td>
<td align="center">
<input name="name" type="text" id="name" value="<?php echo $rows['name']; ?>">
</td>
<td align="center">
<input name="lastname" type="text" id="lastname" value="<?php echo $rows['lastname']; ?>" size="15">
</td>
<td>
<input name="email" type="text" id="email" value="<?php echo $rows['email']; ?>" size="15">
</td>
</tr>
<tr>
<td> </td>
<td>
<input name="id" type="hidden" id="id" value="<?php echo $rows['id']; ?>">
</td>
<td align="center">
<input type="submit" name="Submit" value="Submit">
</td>
<td> </td>
</tr>
</table>
</td>
</form>
</tr>
</table>
<?php
// close connection
mysql_close();
?>
您需要从update_ac.php
文件中的POST
获取它们,如
$sql="UPDATE $tbl_name
SET name='TEST',
lastname='".$_POST['lastname']."',
email='".$_POST['email']."'
WHERE id=".$_POST['id'];
这是您在更新查询中需要的内容
......lastname='".$_POST['lastname']."', email='".$_POST['email']."' WHERE id=".$_POST['id']
每当表单
向操作
中提到的文件发布/提交值时,该文件必须访问$\u POST
数组中表单字段名称的值,如$\u POST['lastname',$\u POST['email']
。等。(如果使用的方法是表单中的POST
)
有三种方式可以访问提交的值:
得到
职位
请求
在将值插入或更新到数据库之前,您需要从客户端获取服务器端的值。为此,我们在php中使用了超全局变量,如$\u get、$\u POST、$\u REQUEST等。
因此,请在更新_ac.php中包含这些内容:
$lastname=$\u POST[lastname]代码>
$email=$\u POST[email];
$id=$\u POST[id]`
如果您不确定通过哪种方法传递表单中的值,则可以使用$\u请求方法。但请尽量避免使用,因为它不太安全。您没有在更新查询中获取post的值。有一件事,您有$id=$\u get['id']
并使用method=“post”
-使两者相同。非常感谢,我以为我在尝试,但显然不是。:-)
......lastname='".$_POST['lastname']."', email='".$_POST['email']."' WHERE id=".$_POST['id']