MySQL&;PHP-不可见数据?胡特?
我试图从一个表单向MySQL中插入值,但结果是一个白色的空白列,表中没有其他内容 第一个是从SQL控制台手动插入的: 我的代码: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
<?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