2016-09-14 20 views
4

私がのPHPコードを実行すると、の致命的なエラーが発生し、解決方法がわかりません。 ログインして未定義の関数mysql_query()を呼び出す

はあなたの助け

エラー

PHP Fatal error: Uncaught Error: Call to undefined function mysql_query() in /Applications/MAMP/htdocs/lprapp/config.php:23 Stack trace:#0 {main} thrown in /Applications/MAMP/htdocs/lprapp/config.php on line 23

コードはMySQLとmysqliの

変更これらの行を混合している

<?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 "; 
    } 

    ?> 
+2

義務アドバイス:ドン」 mysqlを使用します。少なくともmysqliにアップグレードしてください。あなたが使っている環境は、すでにmysqliを使っているかもしれません。したがってエラーです。 – Carcigenicate

+1

mysqli_ *とmysql_ * APIを混在させることはできません –

+0

@JonStirlingああ、そうです。彼のコードの上半分が欠けていました。 – Carcigenicate

答えて

10

いただきありがとうございます。

$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); 
1

にあなたはmysqliで廃止予定mysql拡張子を混合しています。

ような何か試してみてください:

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

私はmysqli_()を使用して起動し、mysql_を使用して停止をお勧めします()

チェック次のページ:LINK

Warning This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include: mysqli_affected_rows() PDOStatement::rowCount()

試してみて、使用mysqli_()それともPDO

関連する問題