你的SQL是最危險的,請嘗試重新寫一個:
//$mysql_qry = "select * from tbl_client where username like '$user_name' and password like '$user_pass'";
我不敢肯定什麼是我們conn.php,這裏是更新的例子之一( PDO):
$sql = 'select 1 from tbl_client where username = :user and password = :pass';
$sth = $dbL->prepare($sql);
$sth->execute(':user' => $user_name, ':pass' => $user_pass);
$row = $sth->fetch(PDO::FETCH_NUM);
if ($row[0]) {
echo 'Login OK';
} else {
echo 'Login Failed';
}
$sql = 'insert into login_status (username, status) values (:user, :status)';
$sth = $dbL->prepare($sql);
$sth->execute(':user' => $user_name, ':status' => $status);
好的,你的conn.php是使用mysqli_。請參閱本頁面的幫助: http://php.net/manual/en/mysqli-stmt.bind-param.php
和上面的答案更改爲:前
$sql = 'select 1 from tbl_client where username = ? and password = ?';
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, 'ss', $user_name, $user_pass);
mysqli_stmt_execute($stmt);
$row = mysqli_stmt_fetch();
if ($row[0]) {
echo 'Login OK';
} else {
echo 'Login Failed';
}
我沒有用mysqli的,所以還不太熟悉,甚至php.net是很難找到的一些文檔關於它。請谷歌howto使用:mysqli_stmt_fetch()並用適當的代碼替換它
爲什麼不更新你的conn.php使用PDO? (請注意,您可能需要更新所有其他頁面以及調用此文件的其他頁面):
// conn.php
$pdo = 'mysql:host=' . $server_name . ';dbname=' . $db_name;
$dbL = new PDO($pdo, $mysql_username, $mysql_password);
爲什麼用戶喜歡用戶名和密碼比較?爲什麼你在一個語句中編寫select和insert查詢?這似乎很奇怪。 – naf4me
基本上它是一個登錄用戶名,所以如果用戶得到正確的用戶名和密碼,那麼我想把他的用戶名和狀態變量的值放在一個不同的表中 –
@HemantVyas你的查詢似乎丟失了')聲明。 – Prashanth