2017-10-13 14 views
1

私はあまりPHPに精通していません。私の現在のホストはPHP 5から7に切り替えられ、ユーザーのオンラインスクリプトは機能しません。それはPHPとMySQLを介してテーブルを作成し、10分後にそれを削除する動作します。オンラインスクリプトPHP7互換

誰でもこのPHP 7をコンパチブルにするのに役立つことができますか?

これは、ベースコードが何であるかである:(!2013年6月)mysql拡張子がそれはは、PHP 5.5以降廃止されているPHP 7からを削除されたため、

CREATE TABLE `user_online` (
`session` char(100) NOT NULL default '', 
`time` int(11) NOT NULL default '0' 
) ENGINE=MyISAM; 

<?php 

session_start(); 
$session=session_id(); 
$time=time(); 
$time_check=$time-600; //SET TIME 10 Minute 

$host="localhost"; // Host name 
$username=""; // Mysql username 
$password=""; // Mysql password 
$db_name="test"; // Database name 
$tbl_name="user_online"; // Table name 

// Connect to server and select databse 
mysql_connect("$host", "$username", "$password")or die("cannot connect to server"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

$sql="SELECT * FROM $tbl_name WHERE session='$session'"; 
$result=mysql_query($sql); 

$count=mysql_num_rows($result); 

if($count=="0"){ 

$sql1="INSERT INTO $tbl_name(session, time)VALUES('$session', '$time')"; 
$result1=mysql_query($sql1); 
} 

else { 
"$sql2=UPDATE $tbl_name SET time='$time' WHERE session = '$session'"; 
$result2=mysql_query($sql2); 
} 

$sql3="SELECT * FROM $tbl_name"; 
$result3=mysql_query($sql3); 

$count_user_online=mysql_num_rows($result3); 

echo "User online : $count_user_online "; 

// if over 10 minute, delete session 
$sql4="DELETE FROM $tbl_name WHERE time<$time_check"; 
$result4=mysql_query($sql4); 

// Open multiple browser page for result 


// Close connection 

mysql_close(); 
?> 

答えて

0

あなたのコードが動作しません。

mysqliまたはPDO_MySQLのいずれかの拡張子を使用することをお勧めします。それはPHP 5.5.0で廃止されましたし、あなたがthe manualを持っているオプションを表示することができます

PHP 7で削除されたように新開発のための古いMySQL拡張を使用することは推奨されません。

基本的には、PHP Data Objects (PDO)またはMySQL Improved (mysqli)という2つのオプションがあります。どちらもprepared statementsをサポートしており、virtually SQLインジェクションフリーアプリを開発できます。

手順のスタイルを維持する必要がある場合は、PDOはオブジェクト指向であるため、mysqliがついています。

それ以外の場合は、ほとんどの場合選択肢があります。マニュアルからリンクしたページでは、という非常に良い比較表が見つかります。機能比較

3つの内線番号の全体的なパフォーマンスはほぼ同じとみなされます。拡張機能のパフォーマンスは、PHP Webリクエストの実行時間のほんの一部にすぎません。しばしば、その影響は0.1%と低い。