さくらインターネットで利用しているPHPのバージョンを5.xから7.2.10にバージョンアップしました。
バージョンアップしたところ、
mysql_connect
が使えなくなりDB接続できなくなる不具合発生。
mysql_connectが使えないとDB接続できないので急いで改修しました。
// PHP5.x
// $conn = mysql_connect($AccountData[db_host],$AccountData[db_user],$AccountData[db_passwd]);
// PHP7.2.10
// $dsn='mysql:host=' . $AccountData[db_host] . ';dbname=' . $AccountData[db_name]. ';charset=utf8'; ←エラー発生
$dsn='mysql:host=mysqlXXX.db.sakura.ne.jp;dbname=DBNAME;charset=utf8';
$dsn='mysql:host=mysqlXXX.db.sakura.ne.jp;dbname=DBNAME;charset=utf8';
$pdo = new PDO('mysql:host=mysqlXXX.db.sakura.ne.jp;dbname=DBNAME;charset=utf8','DBUSER','DBPASSWORD');
$pdo->query('SET NAMES utf8;');
$result = $pdo->query('select XXX from XXX');
$result = $pdo->query('select XXX from XXX');
// echo "result".$result->rowCount()."<BR>";
foreach($result as $row){
$no = $row['XXX']+1;
}
$no = $row['XXX']+1;
}
mysql_connectからPDOに変更しました。
また、rowCount()も利用できなくなったのでforeachで回避しています。
PDOでは変数を利用するとなぜかエラーになるので、ひとまず動かすためにDB名などを直接書いています。
いろいろきれいでない構文だと思いますが、とりあえず動かすために仕方がない。
これから慣れていこうと思います。
>> PHP マニュアル
タグ:PHP