PHP

[PHP7,Mysql]PHP5から7へ環境変更したらMysqlに接続できなくなった

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

PHP7に更新したらMysqlに接続できなくなった

php5からphp7へサーバー環境を移行すると、問題発生するプログラムが出てきた。
なにしろ10年以上前に作成されたPHPのプログラムなどが、まだ現役で動作しているのでありがちな話です。
PHPからのDB接続方法が、古いプログラムだとPEAR::DBが使用されている為です。
PHP7ではPEAR::DBが使用できないようです。

PEAR::DBからMysqliかPDOか

PEAR::DBから変更といってもmysqliやPDOなど、またいろいろと種類があり悩みます。
処理速度の点と他のDBへの乗せ換えも将来無い事から、今回はmysqliを選択しました。

mysqliコーディング例
接続 $strDBUser = “user” ;
$strDBPass = “password” ;
$strDBHost = “localhost” ;
$strDBName = “dbname” ;
$mysqli = new mysqli($strDBHost, $strDBUser, $strDBPass, $strDBName);
if ($mysqli->connect_error){
echo $mysqli->connect_error;
exit();
}
読込 $strSQL = ‘select id,user_name from user_table’;

if ($result = $mysqli->query($strSQL)) {
while ($value = $result->fetch_assoc()) {
echo $value[‘id’]. ‘:’ .$value[‘user_name’] ;
}
$result->close();
}

または(Smartyなどを使う時)

$strSQL = ‘select id,user_name from user_table’;

$result = $Mysqli->query($strSQL) or die($Mysqli->error);
if ($result) {
if ($result->num_rows == 0) {
}else{
$rows = array();
while($row = $result->fetch_array(MYSQLI_ASSOC))  {
$rows[] = $row;
}}}

$smarty->assign(“data”, $rows) ;

切断 $mysqli->close();
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

コメントを残す

*