doushi3322 2014-12-30 04:39
浏览 28
已采纳

我的pdo错误如果声明

I want to add to database user_id and fav_id. But only if they both together are not recorded yet. I did something wrong in my code becayse it all the time adds it. Why does that happen?

<?php
include '../connect.php';

$fav_id = $_POST['fav_id'];
$user_id = $_POST['user_id'];

$number = $pdo-> query('SELECT COUNT(*) FROM favourites WHERE user_id = :user_id AND fav_id = fav_id ');

if ($number == 0) {
$pdo->exec("INSERT INTO `favourites` (`fav_id`, `user_id`) VALUES (" . $fav_id . "," . $user_id . ")");
}
else die();

?>
  • 写回答

1条回答 默认 最新

  • dpqvwgr74759 2014-12-30 04:44
    关注

    use fetchColumn()

    more over i think you should be preparing the statement with :user-id and fav_id

    <?php
    include '../connect.php';
    
    $fav_id = $_POST['fav_id'];
    $user_id = $_POST['user_id'];
    
    $number = $pdo-> prepare('SELECT COUNT(*) FROM favourites WHERE user_id = :user_id AND fav_id = :fav_id ');
    
    $number ->execute(array(':user_id' => $user_id,':fav_id'=>$fav_id));
    
    if ($number ->fetchColumn() == 0) {
    $pdo->exec("INSERT INTO `favourites` (`fav_id`, `user_id`) VALUES (" . $fav_id . "," . $user_id . ")");
    }
    else die();
    
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度