PDO选择然后更新

时间:2014-10-01 21:11:26

标签: php pdo

构建一个首先拉出sim编号的工具,然后将其标记为已拍摄。第一部分工作得很好,并通过ajax提供给我的页面。第二部分似乎不想工作。

include_once 'inc/db_connect.php';

$stmt = $db->query('SELECT sim FROM p2p WHERE taken = 0 ORDER by id ASC LIMIT 1');
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $result = $row['sim'];
}

echo json_encode($result);

$stmt = $db->prepare("UPDATE p2p SET taken = 1 WHERE sim = ?");
$stmt->bind_param('i', $result);
$stmt->execute(); 

任何想法!

1 个答案:

答案 0 :(得分:6)

这是因为bind_param() MySQLi_*语法是PDO并且您正在使用bindParam()

fetch(PDO::FETCH_ASSOC)


这两个API不会混用。

如果不起作用,请使用a previous question

在打开连接后立即添加$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);。这将表明错误。


洞察

我在您发布的http://php.net/manual/en/mysqlinfo.api.choosing.php中注意到您正在使用mysqli_*函数连接到您的数据库。

$result = mysqli_query($conn, $query);

如果仍然如此,则无法以任何方式,形状或形式将PDO与mysqli_混合。

  • 这些MySQL API不会相互混合。
  • 咨询: {{3}}