- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
这是我通常在命令提示符下执行的操作,并且有效:
UPDATE saleslog SET Status='Closed' Where FileNumber='142840';
该表有大约 15 个列,如 ID、文件编号、地址、价格、状态等,但我只想更新不同记录状态列中字段中的值。
我想要制作的是 php 表单,我可以在其中始终在同一列中更改记录中的字段,但是对于在不同时间的不同记录中,一次更改状态列中的字段让我们说“待处理”到“已关闭”
更具体地说,我想要一个包含两个字段的表单,其中一个我可以通过 FileNumber
和按钮来引用记录,单击该按钮会更改 Status< 中的值
字段为“已关闭”。
Before Update
ID FileNumber Address Price Status
234 142840 123 N Park Ave 235.00 Pending
After Update
ID FileNumber Address Price Status
234 142840 123 N Park Ave 235.00 Closed
我用 Google 搜索并在某处找到了此表格,并将其更改为适合我的情况。但是,每次单击“更新”按钮时,我都会收到有关“未知列状态”的错误消息。但是,如果我键入其他内容并单击“更新”,它会显示“已成功更新数据”,但在该特定记录的 FileNumber 列中键入的值引用的记录的状态字段中没有更新任何内容。
所以,这是代码:
<html>
<head>
</head>
<body>
<?php
if(isset($_POST['update']))
{
$dbhost = 'localhost';
$dbuser = 'jack';
$dbpass = 'somepassword';
$myDBname = 'mydatabase';
$conn = mysql_connect($dbhost, $dbuser, $dbpass, $myDBname);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$FileNumber = $_POST['FileNumber'];
$Status = $_POST['Status'];
$sql = "UPDATE saleslog ".
"SET Status = $Status ".
"WHERE FileNumber = $FileNumber" ;
mysql_select_db('mydatabase');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close($conn);
}
else
{
?>
<form method="post" action="<?php $_PHP_SELF ?>">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="100">File Number</td>
<td><input name="FileNumber" type="text" id="FileNumber"></td>
</tr>
<tr>
<td width="100">Status</td>
<td><input name="Status" type="text" id="Status"></td>
</tr>
<tr>
<td width="100"> </td>
<td> </td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="update" type="submit" id="update" value="Update">
</td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>
最佳答案
改变
$sql = "UPDATE saleslog ".
"SET Status = $Status ".
"WHERE FileNumber = $FileNumber" ;
到
$sql = "UPDATE saleslog
SET Status = '$Status'
WHERE FileNumber = '$FileNumber'" ;
注意:您正在使用已弃用的 mysql_*
函数 - 切换到 mysqli_
或 PDO
,而且您容易受到 SQL 注入(inject)攻击。
或者至少:
$FileNumber = mysql_real_escape_string($_POST['FileNumber']);
$Status = mysql_real_escape_string($_POST['Status']);
关于用于更新单个 MySQL 记录的 PHP 表单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22878834/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!