godaddyサーバーを使用しています。私のプライマリドメインにSSLをインストールした後、私は.htaccess
ファイルを使ってページをリダイレクトしました。突然データベースからデータをフェッチすることはできません(これは過去6か月間正常に動作していました)、同じ問題がアドオンドメインでも発生しました。私がgodaddyに連絡したのは、彼らはそれが.htaccessファイルのためだと言った。 .htaccess
という名前のファイルを.htaccess.bak
に名前を変更し、ドメインに追加しましたが、私はまだ同じ問題を抱えています。私.htaccess
コードは次のとおりです。sqliデータベースのデータを取得しようとするときにNull値を取得する
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
はnull値を戻しています。 (ユーザー名とパスワードはデータベースの値に応じて返されますが、過去6ヶ月間返されたのと同じです。データベースで確認したところ、正しい値を示しています)
この問題を解決するにはどうすればよいですか?
プリントアウトクエリを、そしてあなたが期待されるクエリ文字列を取得する場合 – Jens
あなたのスクリプトは、[SQLインジェクション攻撃](http://stackoverflow.com/questions/60174/how-can-の危険にさらされている参照i-prevent-sql-injection-in-php)を使用します。 [Little Bobby Tables](http://bobby-tables.com/)に何が起こったのか見てみましょう。 [あなたが入力をエスケープしている場合でも、それは安全ではありません!](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)[prepared parameterized statements] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)を参照してください。 –