我使用
MySQL语法编写了一个CMS脚本.
我想用PDO语法替换MysqL语法.有人可以帮我做,并向我解释如何做到这一点?
这是脚本中的代码.
<?PHP $querytemp = MysqL_query("select * from main_setting") or die (MysqL_error()); $row = MysqL_fetch_object($querytemp); include "inc/upcenter_block.PHP"; echo " <div class='headmenu'>$row->news1</div> <div class='bodymenu'> <p>".nl2br($row->news)."</p> </div> "; include "inc/downcenter_block.PHP"; ?>
首先,如果你想从MysqL_ *更改为PDO
您需要更改脚本中的所有代码,而不仅仅是a
单一的,不会工作
您将不得不使用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',''.$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(); }
——————————————–
// 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);
所以现在你可以在PDO上使用$row-> news
现在您可以轻松地将代码更改为PDO