[ad_1]
PHP
1 <?php 2 session_start(); 3 include_once("../includes/empty_file.php"); 4 $username = sanitize($_POST["username"]); 5 $password = encrypt(sanitize($_POST["password"])); 6 $fullname = sanitize($_POST["fullname"]); 7 $mobile_no = sanitize($_POST["mobile_no"]); 8 $user_stat = "verified"; 9 $user_type = "csr"; 10 $kiosk_operator = "1"; 11 $site = "si"; 12 if(isset($_SESSION["ref_id"])){ 13 $ref_id = sanitize($_SESSION["ref_id"]); 14 $number1 = rand(100,100000); 15 $t=time(); 16 $myrefid = $number1.$t; 17 $mobile_no = "CP No.: ".$mobile_no; 18 $query = $conn->prepare("INSERT INTO tbl_user (user_name, user_password, user_fullname, user_stat, user_type, user_timestamp, mobile_no,angent_id, kiosk_operator, site) VALUES (?, ?, ?, ?, ?, CURRENT_TIMESTAMP,?,?,?,?);"); 19 $query->bind_param("sssssssss", $username, $password, $fullname, $user_stat, $user_type,$mobile_no,$myrefid,$kiosk_operator,$site); 20 $query_verify = $conn->prepare("SELECT * from tbl_user where user_name=?"); 21 $query_verify->bind_param("s", $username); 22 $query_verify->execute(); 23 $result=$query_verify->get_result(); 24 if ($result->num_rows == 0) { 25 $query_verify_email = $conn->prepare("SELECT * from tbl_user where user_email=?"); 26 $query_verify_email->bind_param("s", $email_add); 27 $query_verify_email->execute(); 28 $result_email=$query_verify_email->get_result(); 29 $result_query = $query->execute(); 30 echo $result_query; 31 $query_verify_email->close(); 32 }else{ 33 echo "ERROR!!! USERNAME ALREADY TAKEN"; 34 } 35 $query_verify->close(); 36 $query->close(); 37 }else{ 38 $number1 = rand(100,100000); 39 $t=time(); 40 $myrefid = $number1.$t; 41 $mobile_no = "CP No.: ".$mobile_no; 42 $query = $conn->prepare("INSERT INTO tbl_user (user_name, user_password, user_fullname, user_email, user_fb, user_timestamp,mobile_no,my_agent_id,angent_id,for_agent) VALUES (?, ?, ?, ?, ?, CURRENT_TIMESTAMP,?,?,?,?,?);"); 43 $query->bind_param("sssssssss", $username, $password, $fullname, $email_add, $facebook,$mobile_no,$ref_id,$myrefid,$for_agent); 44 $query_verify = $conn->prepare("SELECT * from tbl_user where user_name=?"); 45 $query_verify->bind_param("s", $username); 46 $query_verify->execute(); 47 $result=$query_verify->get_result(); 48 if ($result->num_rows == 0) { 49 $query_verify_email = $conn->prepare("SELECT * from tbl_user where user_email=?"); 50 $query_verify_email->bind_param("s", $email_add); 51 $query_verify_email->execute(); 52 $result_email=$query_verify_email->get_result(); 53 $result_query = $query->execute(); 54 echo $result_query; 55 $query_verify_email->close(); 56 }else{ 57 echo "ERROR!!! USERNAME ALREADY TAKEN"; 58 } 59 $query_verify->close(); 60 $query->close(); 61 } 62 63 64 65 66 67 ?>
私が試したこと:
このエラーについて助けてください。
Fatal error: Call to a member function bind_param() on boolean in C:\xampp\htdocs\public_html\user\register.php on line 43
解決策 1
いつ conn->prepare
失敗すると戻ってくる false
– そして、それが成功したかのように使用しようとすると、ブール値には というメンバー関数がないため、システムがエラーを出します。 bind_param
。
最も簡単な解決策は、 prepare
呼び出しが戻り、それが false の場合は、DB とクエリを調べて理由を調べます。
私の数えでは、10 列に 11 個の値を提供しようとしています。
INSERT INTO tbl_user (user_name, user_password, user_fullname, user_email, user_fb, user_timestamp,mobile_no,my_agent_id,angent_id,for_agent) -- !0 columns listed.
VALUES (?, ?, ?, ?, ?, CURRENT_TIMESTAMP,?,?,?,?,?); -- 11 parameters required.
[ad_2]
コメント