gpt4 book ai didi

php - 尝试使用查询变量和表单数据来更改数据库中的表

转载 作者:行者123 更新时间:2023-11-30 01:34:27 25 4
gpt4 key购买 nike

因此,正如标题中所述,我尝试使用指向此页面的页面给出的查询变量以及此页面中的表单数据来操作数据库。我似乎无法做对,我也不知道我做错了什么。代码片段如下所示:

<?php
$ware_number = $_GET['id'];

Echo "<form action='usernamecheck.php' method='post'>";
Echo 'Username:<br>';
Echo '<input type="text" name="usernamecheck" size="14"><br>';
Echo 'Password:<br>';
Echo '<input type="password" name="passwordcheck" size="14"><br>';
Echo '<input type="submit" value="Send">';
Echo '</form>';

if (isset($_POST['usernamecheck'])) {

$sql2 = "SELECT * FROM `storedata`.`users` WHERE `username` LIKE '$_POST[usernamecheck]'";

$found_user_id = mysql_query($sql2, $conn);
print $found_user_id;
}

if (isset($_POST['usernamecheck'])) {

$sql3 = "INSERT INTO `storedata`.`basket` (user_id, ware_id, number, complete)
VALUES
('$found_user_id', '$ware_number', 1, 0)";

$derp = mysql_query($sql3, $conn);
print $derp;
}
?>

文档本身是 usernamecheck.php,我只是打印来尝试找到错误。当我检查购物篮表时,即使没有显示错误,也没有发生任何事情。现在变量 $ware_number 正在导致错误。我做错了什么?

我还在 storedata.basket 表中创建了 user_id 和 ware_id 外键,因为它们是各自表中的主键。这意味着它们只能是特定值,但我正在使用这些值进行测试,主要是 1 和 0...

最佳答案

如果 $_GET['id'] 没有设置怎么办?它会失败。另请阅读 PHP 中 SQL 的正确用法。您的代码很容易受到 SQL 注入(inject)攻击等。

编辑:更新了一段代码

if(isset$_GET['id'] && is_numeric($_GET['id']))
{

$ware_number = $_GET['id'];

Echo "<form action='usernamecheck.php?id=" . $_GET['id'] . "' method='post'>";
.....

关于php - 尝试使用查询变量和表单数据来更改数据库中的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17086530/

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