ホームページ >バックエンド開発 >PHPチュートリアル >PHP検証データベースのパスワードの問題
[/img] [/img]
私は PHP の初心者です。アカウントのパスワードが正しく入力されているかどうかに関係なく、データベース内のユーザーを検証するための簡単なコードを作成しました。専門家の指導を求めています
mysql と mysqli は並列です拡張子を混在させることはできません。
if($row= mysql_fetch_assoc($res)){
mysql と mysqli は 2 つの並列拡張機能であり、混合することはできません。
問題を解決するための書き方を教えてください
if($row= mysql_fetch_assoc($res)){
mysql と mysqli は 2 つの並列拡張機能であり、混ぜることはできません!
if ($row=mysqli_fetch_assoc($res)) で問題が解決したことに変更しました。神に感謝します
header("Content-type: text/html; charset=utf-8");class cls_Mysqli{ private $db_host="localhost"; private $db_user="root"; private $db_password="root"; private $db_name="test"; protected $sql; public $password; function __construct($id,$password){ $this->password = $password; $this->sql = "select password from admin where id = $id"; } function checkPassword(){ global $link; $link = mysqli_connect($this->db_host, $this->db_user, $this->db_password, $this->db_name) or die("数据库错误: " . mysqli_connect_error()); $res = mysqli_query($link,$this->sql); if ($row_val = mysqli_fetch_row($res)){ if ($this->password == $row_val[0]){ return true; }else{ return false; } } }}$query = new cls_Mysqli(1,'123');print $query->checkPassword();mysqli_close($link);@xuzuning
構造体が return を実行する場合、この mysqli リソースは適切な方法で解放されるべきです。