douzhan1238 2014-03-13 04:07
浏览 51


I'm new to PHP and MySQL and I'm trying to insert data in to a database, which had worked fine until i attempted to use PDO's prepare method. It returns the catch error and i cannot figure out why - i'd also like to know whether it's best practice to use unnnamed placeholders or named placeholders?

The username and password variables are defined earlier in my code and catches data from the user using $_POST.

EDIT: getMessage() error displays SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'username' cannot be null

if (!empty($user) && (!empty($password)) ) {
    try {
        $results = $db->prepare("INSERT INTO user_info (username, pass) VALUES (?,?)");
    } catch (Exception $e) {
        echo "Could not insert data in to the database";
  • 写回答

2条回答 默认 最新

  • doufei6456 2014-03-13 04:17

    You have two different variable names. You're checking $user to make sure it's not empty() but then you tell bind $username to the first parameter. You'll just need to rename one of them to match the other.

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



  • ¥15 有人能看一下我宿舍管理系统的报修功能该怎么改啊?链表那里总是越界
  • ¥15 cs loadimage运行不了,easyx也下了,没有用
  • ¥15 r包runway详细安装教程
  • ¥15 Html中读取Json文件中数据并制作表格
  • ¥15 谁有RH342练习环境
  • ¥15 STM32F407 DMA中断问题
  • ¥15 uniapp连接阿里云无法发布消息和订阅
  • ¥25 麦当劳点餐系统代码纠错
  • ¥15 轮班监督委员会问题。
  • ¥20 关于变压器的具体案例分析