2017-04-12 19 views
-4

サーバソフトウェアのアップグレードのために、動作していない古いphp/mysqlスクリプトがあります。PHP廃止されました:mysql_connect():

[03-Apr-2017 04:05:16 UTC] PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead start.php on line 18 
[03-Apr-2017 04:05:16 UTC] PHP Deprecated: Function mysql_numrows() is deprecated in library.php on line 135 

これは、以降

$connection=mysql_connect($sqlserver,$db_login,$db_pass) or die('Could not connect to the database server'); 
$db = mysql_select_db($db_name, $connection) or die ("Unable to select database."); 


$sql="SELECT IP,Date FROM users WHERE IP='$IP' ORDER BY Date DESC LIMIT 1"; 

ライン18であり、これは、私はプログラマではないよ

以降
for($i=0;$i<mysql_numrows($result);$i++){ 
     for($j=0;$j<mysql_num_fields($result);$j++){ 
         $ranges[$i][mysql_field_name($result,$j)] = mysql_result($result,$i,mysql_field_name($result,$j)); 
        }//end inner loop 
       }//end outer loop 

線135である。ここでは

は、エラー・ログからいくつかの行があります、これは交換で見つけることができますか?

変更がうまくいかない場合は、さらに詳しい情報は必要でしょうか?

ありがとうございます!

+4

検索と置換だけでは解決できません。同じ構文を持たないmysqli_ *またはPDOにスワップする必要があります。 – Sakuto

+0

'mysql_numrows()'はコア関数でさえありません。あるもののために 'mysql_num_rows()'というアンダースコアがありません。 –

+0

@さくと:OPは、「見つけて置き換える」と言ったときのことだと思います。 – Jan

答えて

-2

新しいmysqli_connectには4つの引数があり、最初の3つはmysql_connect - $ host、$ login、$ passwordと同じで4番目は$ dbです。

これは、私はあなたがこの関数を呼び出して、あなたのmysql_connectsのすべてを置き換えることができます関数に

function ConnectToDB(){ 
    return mysqli_connect($host, $login, $pass, $db); 
} 

を作成することをお勧め

$db = mysqli_select_db($db_name, $connection); 

を含める必要性を省略します。

ConnectToDB(); 
+0

これは決してこのOPの全体的な問題を解決するものではなく、データベースアクセスの呼び出しが廃止予定のmysql_apiに基づいてデータベースを照会する最初の試みに移動するだけです。 – RiggsFolly

+0

a)これは唯一必要な変更ではありませんb)「私はプログラマーではありませんが、これを交換して解決できますか?」あなたは理解できませんでしたか? – ccKep

+0

質問は私の答えに完全に変更されました – ochhii

関連する問題