2017-06-29 169 views
0

我試圖從用戶的表單輸入'用戶名',並將其插入到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

回答

-1

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

我已經測試過它,它工作正常 –