dousuize3082 2014-06-21 16:23
浏览 6
已采纳

too long

after running my code i got this kind of error, can anyone help me fix it please. The error starts after putting a code to filter if the email is duplicate or not in the database.

here is the error i got:

img

<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "test";

$dbc = new PDO("mysql:host=" . $host . ";dbname=" . $db, $user, $pass);
$dbc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


$name = @$_POST['name'];
$age = @$_POST['age'];
$address = @$_POST['address'];
$gender = @$_POST['gender'];
$email = @$_POST['email'];

        $dupesql = "SELECT * FROM students WHERE email = :email ";

        $dupesql = $dbc->prepare($dupesql);
        $dupesql->bindParam(':name', $email);
        $dupesql->execute();
        $num_rows = $dupesql->rowCount(); 

        if($num_rows === 0) 
        {
        echo "1";
        $q = "INSERT INTO students(name, age, address, gender, email ) VALUES(:name, :age, :address, :gender, :email)";

        $query = $dbc->prepare($q);
        $query->bindParam(':name', $name);
        $query->bindParam(':age', $age);
        $query->bindParam(':address', $address);
        $query->bindParam(':gender', $gender);
        $query->bindParam(':email', $email);

        $results = $query->execute();


        }else{
        echo "0";
        exit;
        }       

?>
  • 写回答

1条回答 默认 最新

  • doumengbai2031 2014-06-21 16:34
    关注

    Well you are facing this error because you are using a wrong parameter in your query.

    $dupesql->bindParam(':name', $email);
    

    :name doesn't exists so it should :email.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答