1. ホーム
  2. php

[解決済み】未定義の関数mysql_query()をLoginで呼び出す【重複

2022-02-15 08:08:13

質問

を実行すると PHP というコードが表示されます。 致命的なエラー 解決方法がわかりません。

ありがとうございました。

エラーについて

PHP Fatal error: Uncaught Error: 未定義の関数mysql_query()の呼び出し in /Applications/MAMP/htdocs/lprapp/config.php:23 スタックトレース:#0 {main} /Applications/MAMP/htdocs/lprapp/config.php の 23 行目でスローされました。

コード

    <?php

    $user = 'root';
    $password = 'root';
    $db = 'inventory';
    $host = 'localhost';
    $port = 8888;

    $link = mysqli_init();
    $success = mysqli_real_connect(
       $link,
       $host,
       $user,
       $password,
       $db,
       $port
    );

    ?>
    <?php
    $username = $_POST['username'];
    $password = $_POST['password'];
    $sql = mysql_query("SELECT * FROM login WHERE username = '".$_POST['username']."' and password = '".md5($_POST['password'])."'");
    $row = mysql_num_rows($sql);
    if($rom > 0 )
    {
      session_start();
      $_SESSION['username'] = $_POST['username'];
      $_SESSION['password'] = $_POST['password'];
      echo "login done";
    }else {
      echo "fail login ";
    }

    ?>

解決方法は?

mysqlとmysqliが混在しています。

以下の行を変更してください。

$sql = mysql_query("SELECT * FROM login WHERE username = '".$_POST['username']."' and password = '".md5($_POST['password'])."'");
$row = mysql_num_rows($sql);

になります。

$sql = mysqli_query($success, "SELECT * FROM login WHERE username = '".$_POST['username']."' and password = '".md5($_POST['password'])."'");
$row = mysqli_num_rows($sql);