PDO :: FETCH_ASSOC不工作?

时间:2013-01-11 23:05:10

标签: php mysql

我有这个代码,基本上我需要从最近的一行中获取新ID ...我有这个代码而且它对我不起作用...

$sql = "INSERT INTO `cd_photo` (id, album, date) VALUES (NULL, '" .mysql_real_escape_string($_POST['album']) . "', '" . $date . "')";

if (@mysql_query($sql)) {
$result = $sql->fetch(PDO::FETCH_ASSOC);
$pageid = $result['id'];
echo $pageid;
echo header('Location: newimg.php?id=' .$pageid);
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您正在混合使用两种不同的PHP-MySQL API。我建议您使用PDO,因为mysql_已逐步淘汰。您可以在PDO中执行以下操作:

$dsn = 'mysql:dbname=dbname;host=dbhost';
$user = 'dbusername';
$pass = 'dbpass';
$pdo = new PDO($dsn, $user, $pass);

$sql = "INSERT INTO `cd_photo` (album, date) VALUES (:album,:date)"
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':album', $album);
$stmt->bindParam(':date', $date);
$stmt->execute();
$pageid = $pdo->lastInsertId();