まず、mysql_*
から変更する場合 PDO
へ
動作しない単一のコードだけでなく、スクリプト内のすべてのコードを変更する必要があります
コードをmysql_*からPDOに変更する場合
PDOを使用してデータベースへの接続を変更する必要があります
これがそのサンプルです:
// here we set the variables
$dbhost = "localhost";
$dbname = "testcreate";
$dbuser = "root";
$dbpass = "mysql";
// here we are using ( try {} ) to catch the errors that will shows up and handle it in a nicer way
try {
$db = new PDO('mysql:host='.$dbhost.';dbname='.$dbname.';charset=utf-8', ''.$dbuser.'', ''.$dbpass.'');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Error : <br>' . $e->getMessage();
}
// here we set the varible for the connection = then starting the cennction with new POD();
$db = new PDO('mysql:host='.$dbhost.';dbname='.$dbname.';charset=utf-8', ''.$dbuser.'', ''.$dbpass.'');
// here we set an Attribute to handle the errors
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// you dont need to use it in our case because we already catching the error and handling it in out way
// here we catch the error then handling it by echo a msg and then we used
// $e->getMessage(); to get the error msg that should be throwing in the page
catch (PDOException $e) {
echo 'Error : <br>' . $e->getMessage();
}
--------------------------------------------
>これで、connectiを使用して、テーブルのクエリとフェッチの方法を説明します
// this is how we will use query
$qr = $db->query()
// and this is how to fetch it by taking the query variable and use the arrow then fetch
$ro = $qr->fetch()
コードの例を示します
$querytemp = mysql_query("select * from main_setting") or die (mysql_error());
$row = mysql_fetch_object($querytemp);
これを
に変更します$querytemp = $db->query("select * from main_setting");
$row = $querytemp->fetch(PDO::FETCH_OBJ);
これで、$row->news
を使用できます PDOを使用
これで、コードをPDOに簡単に変更できます