2017-05-03 127 views
0

我正在使用godaddy服務器。在我的主域中安裝SSL後,我使用.htaccess文件重定向頁面。但突然間我無法再從數據庫中獲取數據(過去6個月工作正常),同樣的問題也發生在我的附加域中。我聯繫了godaddy,他們說這是由於.htaccess文件造成的。我將.htaccess文件更名爲.htaccess.bak,它們都是主域名和添加域名,但我仍然遇到同樣的問題。我.htaccess代碼:嘗試獲取sqli數據庫數據時獲取空值

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]` 

和我的PHP代碼

if($_GET[log]==in) 
    { 
     $username=$_POST['username']; 
     $password=$_POST['password']; 

     $tmpuser= "SELECT * FROM `emplog` WHERE username='$username'"; 
     $q1=$con->query($tmpuser); 
     $count1=$q1->num_rows; 
} 

然而,當我測試的數據庫連接,它說:「連接成功建立」。但$count1正在返回空值。 (用戶名和密碼根據數據庫值返回,與過去6個月一樣,我檢查了數據庫,發現我給出了正確的值。)

請幫忙解決這個問題。

+0

打印出來的查詢,看看你是否得到預期的查詢字符串 – Jens

+0

你的腳本是[SQL注入攻擊]的風險(http://stackoverflow.com/questions/60174/how-can- I-防止-SQL注入功能於PHP)。看看[Little Bobby Tables]發生了什麼事(http://bobby-tables.com/)。即使[如果你逃避投入,它不安全!](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)使用[準備好的參數化語句] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)。 –

回答

0

查看波紋管代碼並更新它。

if($_GET['log']=="in"){ 
    $con2=mysqli_connect("localhost","my_user","my_password","my_db"); 
    if (mysqli_connect_errno()) 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 


    $username=$_POST['username']; 
    $password=$_POST['password']; 

    $tmpuser= "SELECT * FROM `emplog` WHERE username='".$username."'"; 
    if ($result=mysqli_query($con2,$tmpuser)){ 
     // Return the number of rows in result set 
     $rowcount=mysqli_num_rows($result); 
     echo $rowcount; 
     mysqli_free_result($result); 
    } 
} 
+0

不,不工作。 – Rintu

+0

請檢查編輯@Rintu –

+0

顯示「無法連接」,但$ conn = new mysqli($ servername,$ username,$ password); ($ conn-> connect_error){ die(「Connection failed:」。$ conn-> connect_error); } echo「連接成功」;顯示連接成功 – Rintu

相關問題