使用PHP将数据插入2表 [英] Insert data into 2 table with PHP

查看:75
本文介绍了使用PHP将数据插入2表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hi everyone, I'm new to PHP, so I need help from your.
Currently I have 2 table for database Customer and Login.

Table Customer (CustID, CustName, Phone) CustID primary key, auto increment.
Table Login (Email, Password, CustID) Email Primary key,
 CustID Foreign key to table Customer

Now, I can insert all the detail into table customer, but I can't insert any data into table login, it shows the Error "<i>PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\xampp\htdocs\Assignment\suSuccess.php on line 74"</i>










//Connection
try {
            $dbhost = 'localhost';
            $dbuser = 'root';
            $dbpass = '';
            $dbname = "pizza";
            $odb = new PDO("mysql:host=" . $dbhost . ";dbname=" . $dbname, $dbuser, $dbpass);
        } catch (PDOException $ex) {
            echo $ex->getMessage();
            exit();
        }

            $q = "INSERT INTO customer (`CustName`, `DOB`, `Address`, `Phone`) VALUES (:name, :dob, :address, :phone)";
            $query = $odb->prepare($q);
            $result = $query->execute(array(
                ":name" => $name,
                ":dob" => $dob,
                ":address" => $address,
                ":phone" => $phone
            ));
            
            if ($result > 0) {
                $id = $odb->lastInsertId();
                $q2 = "INSERT INTO login (`Email`,`Password`,`CustID`) VALUES (:email, :password,:custid)";
                $query2 = $odb->prepare($q2);
                $result2 = $query2->execute(array(
                    ":email" => $email,
                    ";password" => $password,
                    ":custid" => $id
                )); //<----- Here is the error
                echo $odb->lastInsertId();
                if ($result2 > 0) {
                    echo "Sucess";
                } 
                else {
                    echo "Fail";
                }
            } else {
                echo "Fail";
            }





我的尝试:



我不确定代码是否正确将数据插入我的登录表。



What I have tried:

I not sure whether the code is correct or not to insert data into my login table.

推荐答案

dbhost = ' localhost';
dbhost = 'localhost';


dbuser = ' ;
dbuser = 'root';


dbpass = ' ';
dbpass = '';


这篇关于使用PHP将数据插入2表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆