0

我正在学习如何从 php 访问 mysql db,并且我看到了带有 mysql 命令的基本代码(以下),但是我意识到这些语法是旧的,最好使用 mysqli 或 PDO。我读过它,我认为 PDO 是一种方式,所以我感谢任何关于如何将它迁移到 PDO 的帮助:

1)连接mysql数据库

 include 'DB.php';
 $con = mysql_connect($host,$user,$pass);
 $dbs = mysql_select_db($databaseName, $con);

2)查询数据库获取数据

 $result = mysql_query("SELECT * FROM $tableName");          //query
 $array = mysql_fetch_row($result);                          //fetch result    

3) 将结果回显为 json

 echo json_encode($array);
4

2 回答 2

1

一步步

第一的

$dsn = "mysql:host=localhost;dbname=test;charset=utf8";
$opt = array(
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);
$pdo = new PDO($dsn,'root','', $opt);

第二

$id  = 1;
$stm = $pdo->prepare("SELECT name FROM table WHERE id=?");
$stm->execute(array($id));
$name = $stm->fetchColumn();

将结果作为数组提取后,您可以编码为json

这来自stackoverflowPDO标签wiki,你应该看看这里

于 2013-06-06T00:04:32.303 回答
-1

我发现这几乎完全等同于经典的 mysql 命令,现在在 PDO 中:

<code>
include 'DB.php';
$pdo = new PDO("mysql:host=$host;dbname=$databaseName;charset=utf8", $user, $pass);
$stm = $pdo->query("SELECT * from $tableName");
$array = $stm->fetch();
echo json_encode($array);
</code>
于 2013-06-06T08:02:54.337 回答