2014-06-24 2 views
0

나는 숙제를하기 위해 등록 페이지를 만들 예정이며, 그 간단한 대답을 찾을 수 없다. 여기에 문제가있다. 테이블 호출 customerlist에 새 loginid와 password를 삽입하고 새 loginid라는 새 테이블을 생성하려고합니다. 여기 (업데이트) 동시에 등록 할 때 두 가지를 생성하는 PHP가 있습니까?

코드이다

$loginid = $_POST['loginid']; 
$pw = $_POST['pw']; 
$pw2 = $_POST['pw2']; 

if($loginid != null && $pw != null && $pw2 != null && $pw == $pw2) 
{ $sql = "insert into customerlist(LoginID,Password) values ('$loginid','$pw')"; 
    $sql="create table {$loginid} 
       (
    TradeID(50) VARCHAR(20), 
    Trademode VARCHAR(10), 
    Tradedate data, 
    MTRdate VARCHAR(50) , 
    Postaddress VARCHAR(255), 
    Tel VARCHAR(15), 
    Receivables int, 
    Status VARCHAR(10) 
       );"; 



     if(mysql_query($sql)) 
     { 
       echo 'success!'; 
       echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>'; 
     } 
     else 
     { 
       echo 'fail!'; 
       echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>'; 
     } 
} 
else 
{ 
     echo 'get out!'; 
     echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>'; 
} 
?> 

업데이트

<?php 

$con = mysql_connect("localhost","root","password"); 
mysql_select_db("babytradeapps"); 

$loginid = $_POST['loginid']; 
$pw = $_POST['pw']; 
$pw2 = $_POST['pw2']; 
$name = $_POST['name']; 
$telephone = $_POST['telephone']; 
$idcard = $_POST['idcard']; 
$email = $_POST['email']; 
$bankac = $_POST['bankac']; 
$plan = $_POST['plan']; 
$date = $_POST['date']; 

if($loginid != null && $pw != null && $pw2 != null && $pw == $pw2) 
{ $sql = "insert into customerlist(LoginID,Password,Name,Phone,IDCARDNO,Email,BankACNO,Plan,Date) values ('$loginid','$pw','$name','$telephone','$idcard','$email','bankac','plan','date')"; 
    $sql2 = "insert into overall(LoginID,TradeID,Trademode,Tradedate,MTRdate,Postaddress,Tel,Receivables,Status) values ('$loginid','example','example','example','example','example','example','example','example')"; 
     if(mysql_query($sql)&& mysql_query($sql2)) 
     { 
       echo 'success!'; 
       echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>'; 
     } 
     else 
     { 
       echo 'fail!'; 
       echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>'; 
     } 
} 
else 
{ 
     echo 'get out!'; 
     echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>'; 
} 
?> 

내가 변경되었지만 왜 결과가 실패 인 ?? 뭐가 잘못 되었나요?

+4

사용자 당 표를 만드는 것은 ** REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEALLY ** ** 나쁜 생각입니다 (길이는 얼마나 나쁜지 나타냅니다). 대신 정확히 똑같은 구조와'login_id' 컬럼을 가진 테이블을 가지고 있어야합니다. – zerkms

+0

귀하의 의견에 감사드립니다. 그리고 사용자별로 테이블을 만들지 말고 정말로 오랫동안 당신을 감사드립니다. – user3728747

답변

2

문을 문으로 바꿔 쓰면 두 번째 명령 만 실행됩니다. 이것을 위해 다른 변수를 사용하고 두 개의 질의를하십시오.

$sql = "insert into customerlist(LoginID,Password) values ('$loginid','$pw')"; 
$sql2="create table {$loginid} 
       (
    TradeID(50) VARCHAR(20), 
    Trademode VARCHAR(10), 
    Tradedate data, 
    MTRdate VARCHAR(50) , 
    Postaddress VARCHAR(255), 
    Tel VARCHAR(15), 
    Receivables int, 
    Status VARCHAR(10) 
       );"; 
if(mysql_query($sql) && mysql_query($sql2)) 

너무 많은 테이블을 만드는 zerkms의 경고는 좋은 데이터베이스 레이아웃이 아닙니다.

다른 참고 사항 : mysql_* 기능이 사용되지 않으며 향후 버전의 PHP에서 제거 될 예정입니다. 대신 mysqli_* 또는 PDO를 사용하십시오.

+0

도움을 주신데 고맙다고 생각합니다. 안에있는 모든 데이터를 조인 할 테이블을 만들고 너무 많은 테이블을 만들지는 않을 것입니다. 정말 좋은 레이아웃이 아닙니다. – user3728747

+0

그리고 새 코드를 업데이트했지만 쇼가 실패합니다. 확인해 주시겠습니까? – user3728747

+0

새로운 문제가있는 경우 새로운 문제를 만들어야합니다. 이것은 토론 포럼이 아니며 질문/답변 사이트입니다. 힌트 : SQL 쿼리가 실패 할 때'echo mysql_error()'를 사용하십시오. –

관련 문제