私はこのコードを以前のPHPバージョンで実行しています。現在、このエラーは新しいPHPバージョンによるものです。できるだけ多くが、それでも私は克服する方法がわからないこれらの最後の2つの警告は、あなたがmysqli_queryに文字列を渡しているソリューションmysqli query()は、パラメータ1がmysqliになることを期待しています。
Warning: mysqli_query() expects parameter 1 to be mysqli, string given in /home/u123456/public_html/sample/do_login.php on line 14
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /home/u123456/public_html/sample/do_login.php on line 15
Incorrect entry, Click here to go back
<?php
if(empty($_POST['user']) or empty($_POST['password']))
die("<center>User or Password is empty</br><a href=index.php>Click to go back</a></center>");
include('db.php');
session_start();
$uname= mysqli_real_escape_string($mysqlConnection, $_POST['user']); // using mysql_real_escape to protect against mysql injection
$pass=mysqli_real_escape_string ($mysqlConnection, md5($_POST['password'])); // using mysql_real_escape to protect against mysql injection
$code=$_POST['code'];
if ($code==$_SESSION["captchacode"])
{
$result = mysqli_query($uname, $pass, "SELECT * FROM user WHERE username='$uname' and password='$pass'");
if (mysqli_num_rows($result)>0)
{
$_SESSION['check']=1;
$row=mysqli_fetch_array($result);
$username2=$row['name'];
$_SESSION['name2']=$username2;
$type222=$row['type'];
$_SESSION['type2']=$type222;
$time22=$row['time_stamp'];
$_SESSION['time22']=$time22;
$un=$row['id'];
$_SESSION['un']=$un;
echo "<meta http-equiv='Refresh' content='1;url=main.php'>";
}
else
{
$_SESSION['check']="2";
echo "Incorrect entry, <a href=index.php>Click here</a> to go back";
}
}
else
echo "You did not input the code correctly, <a href=index.php>Click here</a> to go back and check your entry";
?>
あなたは 'mysqli_ *'がどのように正確に動作しているのをお読みになりますか?いくつかのデモを読んでから作業を開始してください –
2番目のエラーは最初のエラーのために発生します。 – MrDarkLynx
こんにちは。あなたはmySqliの仕組みを理解していません。あなたの質問は完全に間違っています。また、http://bobby-tables.comを見て、準備されたステートメントについて知る必要があります。あなたのクエリは安全ではありません。データベースをハックすると、エスケープしても数秒かかることになります。 – Twinfriends