2014-03-27 75 views
0

收到此錯誤有問題,你在你的SQL語法錯誤;檢查對應於你的MySQL服務器版本的手冊,在第一行使用正確的語法創建一個登錄腳本

從上面得到上面的錯誤,我是PHP的新手,所以我不知道這個問題會是什麼,任何幫助?

<?php 
session_start(); 
//ob_start(); 


//make connection 
$con = mysql_connect ("***" , "***", "***") 
    or die ("Query died: connect"); 

mysql_select_db("*****",$con); 

// Grab User submitted information 
$user = $_POST["myuser"]; 
$pass = $_POST["mypwd"]; 

strong text$result = mysql_query("SELECT FirstName, Password FROM memberst WHERE FirstName =  $user"); 
if (!$result) { // add this check. 
die('Invalid query: ' . mysql_error()); 
} 
$row = mysql_fetch_array($result); 

if($row["Firstname"]==$user && $row["Password"]==$pass) { 
echo $row["Firstname"]; 
    //header("location:LoginSuccess.php"); 
} 

else { 
echo"Sorry, your credentials are not valid, Please try again."; 
    }`enter code here` 

?> 
+4

有很多在這個危險的做法,我會找到一個更好的教程 – 2014-03-27 21:32:29

+0

我同意。這不太好。本教程可能是自2001年... – Sebas

+0

有了這個腳本,你會失去你的整個服務器:http://xkcd.com/327/ –

回答

1

試試這個

<?php 
    define('DB_host', 'localhost'); 

    define('DB_username', 'root'); 

    define('DB_password',''); 


    if(!(isset($_POST['login']))) { ?> 
    <div align="center"> 
    <fieldset style="width:10%;"> 

    <form name="login" action="" method="POST"> 
     <div align="left"> 
     <label for "username">Username: </label> 
     <input type="text" name="username"/> 
    <br /> 
     <label for "password">Password: </label> 
     <input type="password" name="password"/><br /> 
    </div> 
    <div align="center"> 
    <input type="submit" name="login" value="Login" /> 
    <input type="reset" value="Reset" /> 
      </div> 
     </form> 
    </fieldset> 
     </div> 
    </div> 

    <?php 
    } else { 
    $con = new PDO("mysql:host=". DB_host .";dbname=YOUR DATABASE NAME", DB_username , DB_password); 

    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

    $sql = "SELECT * FROM users WHERE username = :username AND password = :password LIMIT 1"; 


    $stmt = $con->prepare($sql); 

    $stmt->bindValue("username", $_POST['username'], PDO::PARAM_STR); 
    $stmt->bindValue("password", $_POST['password'] , PDO::PARAM_STR); 
    $stmt->execute(); 




    if($stmt->rowCount() > 0) { 


    header('location: home.php'); 


    } else { 
     echo '<script> window.alert("Incorrect Input") 
     window.location.href="login.php";</script>'; 
      } 
    } 
    ?>