MySQL&;PHP-不可见数据?胡特?

MySQL&;PHP-不可见数据?胡特?,php,mysql,Php,Mysql,我试图从一个表单向MySQL中插入值,但结果是一个白色的空白列,表中没有其他内容 第一个是从SQL控制台手动插入的: 我的代码: <?php $servername = "mysql1.000webhost.com"; $username = "a5287585_login"; $password = "********"; $dbname = "a5287585_login"; $nickname = $_POST['nickname']; $pass = $_POST['passwo

我试图从一个表单向MySQL中插入值,但结果是一个白色的空白列,表中没有其他内容

第一个是从SQL控制台手动插入的:

我的代码:

<?php
$servername = "mysql1.000webhost.com";
$username = "a5287585_login";
$password = "********";
$dbname = "a5287585_login";
$nickname = $_POST['nickname'];
$pass = $_POST['password'];

// Vytvorenie pripojenia
$conn = new mysqli($servername, $username, $password, $dbname);

// Kontrola pripojenia
if ($conn->connect_error) 
{
   die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully ";

// Vloženie dát (Nick,ecc..)
$sql = "INSERT INTO UserDB (Name, Password) VALUES ('$nickname', '$pass')";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>


“您是否在同一页面上使用/PHP/SQL表单?–Fred-ii-8分钟前”
“我在同一个页面上使用表单和PHP&MySQL。-杰迪亚2分钟前”

您在同一页面中使用了整个代码,并在加载页面时立即输入空数据

您需要对其使用条件语句,并检查POST数组是否为空

编辑(示例重写)

首先,从现在的位置删除以下内容,并将其放在条件语句中

$nickname = $_POST['nickname'];
$pass = $_POST['password'];
和使用:

if(!empty($_POST['nickname']) && !empty($_POST['password']) )
{

   $nickname = $_POST['nickname'];
   $pass = $_POST['password'];

   $sql = "INSERT INTO UserDB (Name, Password) VALUES ('$nickname', '$pass')";

       if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

}
旁注:显示错误只能在暂存中进行,而不能在生产中进行


您当前的代码对用户开放。使用,或与


密码

我还注意到,您可能正在以纯文本形式存储密码。不建议这样做

使用以下选项之一:

  • PHP5.5的函数
  • 兼容性包(如果PHP<5.5)
其他链接:


可能是因为您的POST数组是空的,谁知道呢。你没有贴出来。检查
empty()
”属性,并将列更改为不接受NULL/empty值。调试:尝试在执行前检查查询。echo$sql=“插入UserDB(名称、密码)值(“$昵称”,“$pass”)”;出口检查此查询的结果并共享或通过控制台运行。您是否检查了$\u POST是否使用da数据完成?此外,您还应定义表列不为空。请同时发布表单。因为表单字段也可能有问题。还可以尝试将post值打印为
print\r($\u post)
您是否在同一页上使用/PHP/SQL表单?`if(!empty($\u post['昵称])&&&!empty($\u post['password']){$SQL=“INSERT INTO-INTO-UserDB(Name,password)值('$昵称','$pass')”;}`正确吗?@Jediah No,删除
//Vloženie dát(尼克,
等一下,我会给你做一个编辑供你使用。@Jediah重新加载我的答案,然后在“编辑”下查看(示例重写)。这就是如何使用它。并使用输入类型submit而不是图像button@Jediah我试过了,但那个页面不存在,我得到了一个404。所以你需要修复它。我被重定向到了?-这是登录代码,不是为了插入。所以,同样,你需要使用正确的页面/代码。@Jediah我怀疑这里和那里发生了什么你没有告诉我们的是,你很可能在同一个页面上同时拥有登录和插入代码,而没有条件语句。我在这里不能为你做太多其他的事情,但我要说的是,你需要使用单独的页面/链接,或者对所有内容使用条件语句,并基于你希望用户的操作。祝你好运我们的项目,我已经尽了我所能在这里,将无法提供任何进一步的帮助你在这方面。
$nickname = $_POST['nickname'];
$pass = $_POST['password'];
if(!empty($_POST['nickname']) && !empty($_POST['password']) )
{

   $nickname = $_POST['nickname'];
   $pass = $_POST['password'];

   $sql = "INSERT INTO UserDB (Name, Password) VALUES ('$nickname', '$pass')";

       if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

}
<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code