2013-12-22 90 views
1

我是PHP新手,我複製了這段代碼;mysqli_fetch_row語法混淆

$sql = "SELECT userID, username, password, first_name FROM users WHERE email='$e' AND activated='1' LIMIT 1"; 
     $query = mysqli_query($connection, $sql); 
     $row = mysqli_fetch_row($query); 
     $db_id = $row[0]; 
     $db_username = $row[1]; 
     $db_pass_str = $row[2]; 
     $db_firstname = $row[3]; 

但它只是不工作......而這就是我的表看起來像什麼;

UserID -- username -- firstname -- lastname -- email --------- password 

1 -- CJ_65 -- Craig ----- Johnson -- [email protected] -- passwordd 

有人能幫我嗎?

+0

拋出什麼錯誤?在$ query語句上,在其末尾添加「or die(mysql_error())」。 – BuddhistBeast

+0

沒有錯誤正在被拋出,但是,即時通訊使用此設置我的會話和我的會話數據似乎混在一起...:/ – user3063919

+0

所以它實際上工作,但輸出不正確? – BuddhistBeast

回答

6

請謹慎使用正確的SQL語句。所有你需要做的就是拿出你的$查詢$連接部分..換句話說..從這個去:

$query = mysqli_query($connection, $sql); 

這樣:

$query = mysqli_query($sql); 

要了解本文檔的小更好的檢查本手冊out。 MySQl是在Web開發的學習過程中邁出的一大步,但唯一可以改進的方法是繼續練習併爲大多數語句查找正確的語法/輸入。你有這個:)

+0

非常感謝的人:) – user3063919

+1

當然!不要忘了點擊向上箭頭:)祝你的MySQL旅程好運,你會做得很好! – BuddhistBeast

-1

既然你說過你是PHP的新手,我建議學習MySQLi未準備好的語句的準備語句。 PDO使用相當簡單:

<? 
    // Database connection details 
    $connection = new PDO("mysql:host=hostNameHere; dbname=databaseNameHere", "usernameHere", "passwordHere"); 

    // Database query 
    $stmt = $connection->prepare(" 
     SELECT userID, username, password, first_name 
     FROM users 
     WHERE email = ? 
     AND activated = ? 
     LIMIT 1 
    "); 
    $stmt->execute(array($emailValue, $activatedValue)); 
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC); 
?>