2014-10-04 86 views
-1

我真的不知道我在做什麼錯在這裏,我正在失去我的想法。 我正在創建一個函數adminPanel,您可以在其中執行各種其他功能,例如數據庫中的getUserInformation。當我調用adminPanel函數並在我的getUserInformation窗體中輸入用戶名時,它會從sql返回「ERROR」。函數getUserInformation不起作用

首頁的index.php

<html> 
<?php 
    include("core/settings.php"); 
    include("network/databaseConnection.php"); 
    include("core/headers.php"); 
    include("core/functions/adminPanel.php"); 
    $db = connect(); 

    adminPanel(); 

?> 
</html> 

adminPanel.php

<?php 
    include("getUserInformation.php"); 
    function adminPanel() { 
     echo "<p>getUserInformation</p>"; 
     echo "<form method='POST'>"; 
     echo "<input type='text' name='user_inputUsername'>"; 
     echo "<input type='submit' name='user_inputUsernameSubmit'>"; 
     echo "</form>"; 
     $user_inputUsername = $_POST['user_inputUsername']; 
     getUserInformation($user_inputUsername); 
    } 
?> 

getUserInformation.php

<?php 
    function getUserInformation($user_inputUsername) { 
     global $db; 
     $sql = "SELECT " . $user_inputUsername . " FROM userdata WHERE id='$user_id', username='$user_username', password='$user_password', email='$user_email', firstname='$user_firstname', lastname='$user_lastname', phonenumber='$user_phonenumber', address='$user_address', isBanned='$user_isBanned'"; 
     if(!$result = $db->query($sql)) {die($mysqli->connect_error . " and " . $mysqli->error);} 
     $data = $result->fetch_assoc(); 
     return $data['$user_id']; 
    } 
?> 

另外這裏是用戶數據表我的數據庫條目 http://prntscr.com/4susj9

+0

在'getUserInformation'中,你有'$ user_inputUsername'應該是你希望從你的SQL查詢返回的列的名字。它應該一直是靜態的(這裏不需要變量)。至於查詢的其餘部分,它看起來像是在試圖用未定義的變量填充它。 '$ mysqli-> error'告訴你什麼? – helllomatt 2014-10-04 03:21:21

+0

用'AND'替換你的逗號來分隔你的'WHERE'子句的值。你現在使用的是'UPDATE/SET'語法。 – 2014-10-04 03:22:22

+0

我認爲你必須在你的WHERE條件中使用AND而不是逗號。 – Juck 2014-10-04 03:22:47

回答

0

首先,您在此處使用的sql查詢不正確..您需要在where子句之間使用AND

它必須像WHERE id='$user_id' AND username='$user_username'等。

其次,你需要你的文件,action在表單元素像

<form method='POST' action='handler.php'> 

在評論@fred提到的鏈接。