简体   繁体   English

PDO :: FETCH_ASSOC无法正常工作?

[英]PDO::FETCH_ASSOC not working?

I have this code, basically I need to get the new ID from the most recently insterted row...I have this code and it is not working for me... 我有这段代码,基本上我需要从最近插入的行中获取新的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);
}

Any ideas? 有任何想法吗?

You are mixing two different PHP-MySQL APIs. 您正在混合两种不同的PHP-MySQL API。 I suggest you use PDO since mysql_ is phased out. 我建议您使用PDO,因为mysql_已被淘汰。 Here is how you'd do it in PDO : 这是您在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();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM