无法插入表单输入到MySQL数据库使用PHP

问题描述:

我试图从用户的表单输入'用户名',并将其插入到MySQL数据库。但我无法这样做。请告诉我什么是错我的代码..无法插入表单输入到MySQL数据库使用PHP

HTML表单:

<form method="POST" action="action.php"> 
<div class="row 
<div class="col-md-3"> 
<div class="form-group"> 
    <label>Username</label> 
    <input name="username" id="username" type="text" class="form-control" placeholder="Username"> 
    </div> 
    </div> 
<button type="submit" class="btn btn-info btn-fill pull-right">Update Profile</button> 
<div class="clearfix"></div> 
</form> 

action.php的:

<?php 

$con = mysqli_connect('localhost', 'id1753243_venom', 'roushan123'); 

if(!$con) 
{ 
    echo 'Not connected to the server'; 
} 
if (!mysqli_select_db($con,'users')) 
{ 
    echo 'Database not selected'; 
} 

$username = $_POST['username']; 

$sql = "INSERT INTO users (username) VALUES ('$username')"; 

if(!mysqli_query($con,$sql)) 
{ 
    echo 'Not inserted'; 
} 
else 
{ 
    echo 'Inserted'; 
} 

header("refresh:2; url=user.php"); 
?> 

当我输入的形式,它给了我“未插入“错误。我试图找到一个解决方案,但失败了,我希望你们中的一些人可以看看上面的代码,并帮助我在这里!谢谢。

加入一些错误报告后,我得到

Fatal error: Uncaught mysqli_sql_exception: Access denied for user 'id1753243_venom'@'%' to database 'users' in /storage/ssd1/243/1753243/public_html/login-system/action.ph‌​p:20 Stack trace: #0 /storage/ssd1/243/1753243/public_html/login-system/action.ph‌​p(20): mysqli_query(Object(mysqli), 'INSERT INTO use...') #1 {main} thrown in /storage/ssd1/243/1753243/public_html/login-system/action.ph‌​p on line 20

+0

添加'的ini_set( 'display_errors设置',1);函数ini_set( 'log_errors',1);使用error_reporting(E_ALL); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);'到脚本的顶部。这会强制任何'mysqli_'错误到 生成一个您可以在浏览器上看到的异常,并且其他错误也会在您的浏览器中显示。然后告诉我们你的错误 – RiggsFolly

+0

$ sql =“INSERT INTO users(username)VALUES($ username)”; –

+0

或者添加'echo $ con>错误;退出;'而不是无用的'回声'未插入';' – RiggsFolly

action.php的应该是这样的

<?php 
$con = mysqli_connect('localhost', 'id1753243_venom', 'roushan123', 'users'); 
if(!$con) 
{ 
    echo 'Not connected to the server'; 
} 
$username = $_POST['username']; 
$sql = "INSERT INTO users (username) VALUES ('".$username."')"; 

$insert = mysqli_query($con,$sql); 

if(!$insert) 
{ 
    echo 'Not inserted'; 
} 
else 
{ 
    echo 'Inserted'; 
} 
header("refresh:2; url=user.php"); 
?> 

请让我知道如果有任何问题之后。

您的SQL查询应该是这样的

$sql = "UPDATE users SET username = '".$username."' WHERE id = 1"; 
+0

请参阅编辑题。 – RiggsFolly

+0

而且这个改变完全没有区别,因为OP的原始查询语法很好,比你的更容易阅读 – RiggsFolly

+0

我已经测试过它,它工作正常 –