[英]Rewriting mysql_* with PDO (table-like content)
So I'm having a bit of trouble migrating from mysql_* functions to PDO-like statements. 因此,从mysql_ *函数迁移到类似 PDO的语句时遇到了一些麻烦。 I have a table in which I output a different column for each row. 我有一个表,其中每行输出一个不同的列。 However, I'm unsure as to how I could achieve this with PDO. 但是,我不确定如何使用PDO实现这一目标。
$SQL = "SELECT `id`, `email`, `information`, `type`, `language`, `status` FROM `requests`";
$exec = mysql_query($SQL, $link);
while ($row = mysql_fetch_array($exec)){
echo "<tr class='tg-031e'>";
echo "<td class='tg-031e'><input type='checkbox' name='checkbox[]' value=" . $row['id'] . "></form></td>";
echo "<td class='tg-031e'>" . $row['email'] . "</td>";
echo "<td class='tg-031e'><textarea readonly style='width:470px;height:80px;border:none;resize:none'>" . $row['information'] . "</textarea></td>";
echo "<td class='tg-031e'>" . $row['type'] . "</td>";
echo "<td class='tg-031e'>" . $row['language'] . "</td>";
if(isset($_POST['checkbox'])){
foreach($_POST['checkbox'] as $update_id){
$update_id = (int)$update_id;
$qR = "UPDATE requests SET status='✔' WHERE id=$update_id";
mysql_query($qR);
header('Refresh: 1; URL=index.php');
}
}
}
For example, how do I fetch everything from the type
column in PDO? 例如,如何从PDO的type
列中获取所有内容?
echo "<td class='tg-031e'>" . $row['type'] . "</td>";
Simple db class to get started: 简单的db类入门:
<?php
class db {
public static $db_host = "";
public static $db_user = "";
public static $db_pass = "";
public static $db_name = "";
public static function dbFactory() {
$host = self::$db_host;
if(strpos($host,":") !==false) {
$parts = explode(":",$host);
$hostname = "unix_socket=".$parts[1];
} else {
$hostname = "host=$host";
}
$user = self::$db_user;
$pass = self::$db_pass;
$dbase = self::$db_name;
$pdo = new PDO("mysql:$hostname;dbname=$dbase", $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
return $pdo;
}
}
$id = 115;
$pdo = db::dbFactory();
$stmt = $pdo->prepare("SELECT * FROM `tablename` WHERE `id` = :id ");
$stmt->bindValue(':id', $id, PDO::PARAM_INT);
$stmt->execute();
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($res);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.