gpt4 book ai didi

php - 使用 _POST 更新 mysql 中的信息

转载 作者:行者123 更新时间:2023-11-29 07:33:16 26 4
gpt4 key购买 nike

我有这段代码,除了添加到我的数据库中之外不执行任何操作,并且仅添加商品盎司和零售价。关于我哪里出错了有什么想法吗?

--更新.php---

<?php

session_start(); // start session cookies
require("Login.class.php"); // pull in file
$login = new Login; // create object login

$login->authorize(); // make user login
?>




<style type="text/css">
body {background-color:#42520e; color: #f0cb01;

}
th {background: URL(http://www.athenahealth.com/_img/boxes/carousel_bg.png);}
p {color:blue;}
a:link {color: #f0cb01; text-decoration: underline; }
a:active {color: #f0cb01; text-decoration: underline; }
a:visited {color: #f0cb01; text-decoration: underline; }
a:hover {color: #f0cb01; text-decoration: none; }
</style>

<?php
$retail=$_REQUEST['retail'];
$id=$_REQUEST['id'];
$name=$_REQUEST['name'];
$upc=$_REQUEST['upc'];
$ounces=$_REQUEST['ounces'];
define("HOST", "localhost");

$retail=$_REQUEST['retail'];
$id=$_REQUEST['id'];
$name=$_REQUEST['name'];
$upc=$_REQUEST['upc'];
$ounces=$_REQUEST['ounces'];


?>
Admin Panel to Update Keywords
<hr>

<table>
<tr><td valign="top"><br /><br />
<td>
Your are editing information for Product #: <b><? echo $_REQUEST['id']; ?></b>
<form method="post" action="update_ac.php">
<table> <tr><br /></tr>
<tr><td> Product #: </td><td> <input type="text" name="id" id="id" value="<? echo $_REQUEST['id']; ?>">* Enter Keyword as it currently appears<br></td></tr>
<tr><td> Name: </td><td><input type="text" name="name" id="name" value="<? echo $_REQUEST['name']; ?>">* Enter New Information<br></td></tr>
<tr><td> Suggested Retail:</td><td> <input type="text" name="retail" id="retail" value="<? echo $_REQUEST['retail']; ?>">* New Phone Number<br></td></tr>
<tr><td> Ounces: </td><td> <input type="text" name="ounces" id="ounces" value="<? echo $_REQUEST['ounces']; ?>">* Enter new block description here. <br></td></tr>
<tr><td> UPC: </td><td> <input type="text" name="upc" id="upc" value="<? echo $_REQUEST['upc']; ?>">* Enter new block description here. <br></td></tr>

<tr><td> </td><td align="left"> <input type="submit" name="submit" value="Submit Data"></td></tr>
</table>
</form>
</td></tr>
</table> <br />
<a href="index.php">Add Keyword</a> | <a href="../admin">Back to search form</a> |


<?php
echo '<pre>';
print($retail);
echo '</pre>';
?>




<a href="index.php?action=clear_login">logout</a>
</body>

这是它使用的更新链接,并将其传递到 update_ac.php

 <?php

session_start(); // start session cookies
require("Login.class.php"); // pull in file
$login = new Login; // create object login

$login->authorize(); // make user login
?>

<style type="text/css">
body {background-color:#42520e; color: #f0cb01;

}
th {background: URL(http://www.athenahealth.com/_img/boxes/carousel_bg.png);}
p {color:blue;}
a:link {color: #f0cb01; text-decoration: underline; }
a:active {color: #f0cb01; text-decoration: underline; }
a:visited {color: #f0cb01; text-decoration: underline; }
a:hover {color: #f0cb01; text-decoration: none; }
</style>

<?php
$retail=$_REQUEST['retail'];
$id=$_REQUEST['id'];
$name=$_REQUEST['name'];
$upc=$_REQUEST['upc'];
$ounces=$_REQUEST['ounces'];


define("HOST", "localhost");

$retail=$_REQUEST['retail'];
$id=$_REQUEST['id'];
$name=$_REQUEST['name'];
$upc=$_REQUEST['upc'];
$ounces=$_REQUEST['ounces'];


// Database user
define("DBUSER", "root");

// Database password
define("PASS", "Password!");

// Database name
define("DB", "SnyderLanceSku");

############## Make the mysql connection ###########

$conn = mysql_connect(HOST, DBUSER, PASS) or die('Could not connect !<br />Please contact the site\'s administrator.');

$db = mysql_select_db(DB) or die('Could not connect to database !<br />Please contact the site\'s administrator.');

mysql_query("UPDATE products SET UPC='$upc', Name='$name', Item_Ounces='$ounces' WHERE UPC='$upc' ") or die (mysql_error());
?>
<table>
<tr><td valign="top"><br /><br />
<td>
<table> <tr><b>Data Updated Successfully</b></tr>
<tr><td> Keyword: </td><td><? echo $id; ?><br></td></tr>
<tr><td> Block?: </td><td><? echo $name; ?><br></td></tr>
<tr><td> Phone #:</td><td><?php echo $upc; ?><br> </td></tr>
<tr><td> Reason: </td><td><? echo $retail; ?></td></tr>
<tr><td> Reason: </td><td><? echo $ounces; ?></td></tr>

</table>
</form>
</td></tr>
</table>

<a href="./">Go Back</a>

我不太确定在哪里查看...任何帮助都会受到赞赏。

编辑:

这是两个脚本。它几乎可以正常工作。现在唯一的事情是它没有更新正确的行。它添加一个新行,而不是更新 id 或在本例中更新 UPC

最佳答案

您的这段代码存在一些问题,从您提供的代码来看,您似乎不是在发送 POST 请求,而是在发送 GET 请求,当您通过 URL 传递它们时。首先,将您的 $_POST 更改为 $_GET

您的查询也是错误的。

$sql = "UPDATE `products` SET ".implode(", ", $update)."WHERE Product_sku = '$ID'";

应该是

$sql = "UPDATE `products` SET ".implode(", ", $update)."WHERE Product_sku = '$id'";

我在您的代码中没有看到 $ID 变量,但我确实看到了 $id 变量。所以你也需要改变它。

编辑 1

此外,打开错误报告以使调试更容易。

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(-1);

编辑2

正如 Fred 所说,当您尝试将数据从 HTML 获取到 PHP 时,您会输入错误。

在您的产品输入中,您将名称值设置为产品,就像您对名称输入所做的那样。然而,在 PHP 中,您正在执行 $name=$_GET['name'];,而它应该是 $name=$_GET['Name'];

您应该采用熟悉的命名约定,例如驼峰命名法,这将使您更难犯这些难以发现的错误。我用PSR个人编码约定。所以尝试采用一种并坚持下去。

另一件事,因为您之前从未发布过表单,所以我建议您使用 $_GET,但是对于某些内容(例如表单数据),您应该将其更改回 $_POST 作为您的表单method="post"

编辑3

您还应该养成检查变量是否实际包含值并且设置正确的习惯,这称为验证。我会亲自检查提交按钮是否已被按下 (if (isset($_POST['yourSubmitButtonNameValue'])) 然后验证该 if 语句中的其余字段。这样,您就知道了您添加到数据库中的输入是有效的。

关于php - 使用 _POST 更新 mysql 中的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31844719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com