mysql - 将 MySQL 更改为 PDO

标签 mysql database pdo

我必须将旧的 mysql 更改为 PDO,我正在使用其他人编写的代码,所以我有以下代码要在 PDO 中更改 原代码为

function liste($a,$b,$c)
{
        $queryliste= "SELECT id,nom,prenom
        FROM table";
        $this->list =  Connection_Base($querylistactu);
}

//Connection_Base
function Connection_Base($query)
{
    $link = mysql_connect(DATABASESERVER, DATABASEUSER, DATABASEPASSWORD);
    $ret = mysql_select_db(DATABASEDB, $link);
    if (!$ret)
    {
        die("Echec de connection");
    } else {
        $mysql_desc = DATABASEDB;
        if(!$result = mysql_query( $query))
        {
            return 0;
        } else {
            return $result;
        }
        mysql_close($link);
    }
}

这是我遇到问题的部分。我想使用 PDO 更改它。

while( list($x,$y,$z) = mysql_fetch_row($lactu->list) )

我按照这样的方式进行,但它不起作用

while( list($x,$y,$z) = $lactu->list->fetch(PDO::FETCH_NUM) 

有什么想法吗?

最佳答案

为什么不使用 PDO::FETCH_ASSOC?检查连接数据库、执行查询、获取所有行以及迭代行的代码示例。

//Your query
$queryliste = "SELECT id, nom, prenom FROM table";

//Initialize pdo connection use your $name, $host, $username and $password
$pdoLink = new PDO("mysql:dbname={$name};host={$host};charset=utf8", $username, $password);

//Prepare statement
$statement = $pdoLink-> prepare($queryliste);
//Execute query
$statement -> execute();

//(1) Fetch rows using PDO::FETCH_ASSOC
$rows = $statement -> fetchAll(PDO::FETCH_ASSOC);
$statement -> closeCursor();
foreach($rows as $row) {
    echo $row['id'];
    echo $row['nom'];
    echo $row['prenom'];
}

//(2) or you can use PDO::FETCH_NUM
$rows = $statement -> fetchAll(PDO::FETCH_NUM);
$statement -> closeCursor();

foreach($rows as list($x, $y, $z)) {
    echo $x;
    echo $y;
    echo $z;
}

//(3) or you can rewrite the last in the same form you are using as 
while((list($x, $y, $z) = $statement->fetch(PDO::FETCH_NUM))) {
    echo $x;
    echo $y;
    echo $z;
}
$statement -> closeCursor();

关于mysql - 将 MySQL 更改为 PDO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29767683/

相关文章:

java - 如何从 Spring @Query 注解调用 SQL 函数

php - 循环遍历 php 表不起作用 [给出警告 : mysql_fetch_assoc() expects parameter 1 to be resource, bool 值]

php - 如何防止 PDO 将问号解释为占位符?

php - 我可以在 PDO 中使用列名作为参数吗?

php - 是否有关闭带有 PDO 的 mysql 准备语句的功能?

php - 根据以下列出列中的所有日期

php - 将 SQL 查询列传递到另一个 .php 页面

c# - 桌面应用程序的数据库托管

database - 跨不同微服务数据库的数据完整性

MySQL 查找性能 PK unsigned INT 与索引 varchar(15) 列