如果在包含文件

时间:2016-04-30 11:27:50

标签: javascript php jquery ajax mysqli

我无法弄清楚为什么jquery ajax post调用不起作用如果我使用包含php文件的连接虽然我得到了来自php的正确响应。请告诉我这个

背后的解释是什么

这是我的数据库文件

<?php

$host = "mysql2.000webhost.com"; 
$username = "a212_mt5199";
$password = "secret";
$db = "a211_mydb";

$con = new mysqli ($host, $username, $password, $db);

GLOBAL $con;

if ($con->connect_error) {
    die ("Error:" . $con->connect_error);
}

?>  

包含上述无效

<?php

include("db.php");

// set parameters and execute
$myusername=$_POST['name']; 
$mypassword=$_POST['pwd']; 

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);

$stmt = $con->prepare("SELECT username, password FROM members WHERE username=? and password=?");
$stmt->bind_param("ss", $myusername, $mypassword);

$stmt->execute();
$stmt->bind_result($username, $password);
$stmt->store_result();

// Mysql_num_row is counting table row
$count=$stmt->num_rows;

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
    // Register $myusername, $mypassword and redirect to file "login_success.php"
    session_register("myusername");
    session_register("mypassword"); 
    echo 'true';
    $_SESSION['user_name']= $username;
} else {
    echo "Wrong Username or Password";
}

$stmt->close();
$con->close();

?>

这是有效的

<?php

$host = "mysql2.000webhost.com"; 
$username = "a212_mt5199";
$password = "secret";
$db = "a211_mydb";

$con = new mysqli ($host, $username, $password, $db);

if ($con->connect_error) {
    die ("Error:" . $con->connect_error);
}

// set parameters and execute
$myusername=$_POST['name']; 
$mypassword=$_POST['pwd']; 

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);

$stmt = $con->prepare("SELECT username, password FROM members WHERE username=? and password=?");
$stmt->bind_param("ss", $myusername, $mypassword);

$stmt->execute();
$stmt->bind_result($username, $password);
$stmt->store_result();

// Mysql_num_row is counting table row
$count=$stmt->num_rows;

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
    // Register $myusername, $mypassword and redirect to file "login_success.php"
    session_register("myusername");
    session_register("mypassword"); 
    echo 'true';
    $_SESSION['user_name']= $username;
} else {
    echo "Wrong Username or Password";
}

$stmt->close();
$con->close();

?>

1 个答案:

答案 0 :(得分:0)

能够通过使用DEFINE变量解决问题。