簡體   English   中英

需要幫助使用php連接到mysql

[英]need help connecting to mysql using php

我無法使用php連接到mysql。 我有一個名為contacts的數據庫,我想連接到該數據庫,而我要添加的表是“ tblusers”。 我已經在由“ my12130”標識的“ Web_User”聯系人上創建了一個用戶。 當用戶填寫所有字段並且密碼匹配並且點擊了提交時,該頁面將被重定向到memberContect頁面。 每次我使用以下連接方法時,當我填寫所有內容並單擊“提交”時,都會顯示連接代碼中的“表連接錯誤”消息。 (不顯示PHP錯誤,即橙色/白色框中沒有錯誤)。 如果我將主機名更改為localhost,也沒有什么不同,因為我都嘗試過兩者。 我正在使用wamp服務器來運行我的php代碼。 我在連接代碼上方有一條注釋,這是我遇到問題的地方。

mysql數據庫:

mysql>顯示數據庫;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| contacts           |
| mysql              |
| performance_schema |
| test               |
+--------------------+

聯系人表列表:mysql> use contact; 數據庫改成mysql> show表;

+--------------------+
| Tables_in_contacts |
+--------------------+
| tblusers           |
+--------------------+

設置1行(0.00秒)

的PHP:

<?php

if ($_POST['submit']!=""){
        if ($_POST['username']=="" || $_POST['password1']=="" || $_POST['password2']=="" || $_POST['firstname']=="" || $_POST['lastname']=="" || $_POST['email']=="" || $_POST['address']=="" || $_POST['city']=="" || $_POST['state']=="" || $_POST['zipcode']=="" || $_POST['phone']==""){
        $error=1;
        }
    else if ($_POST['password1']!=$_POST['password2']){
        $error=2;
    }
    else{
        $hostname="localhost";
        $database="contacts";
        $mysql_login="Web_User";
        $mysql_password="my12130";

        if (!($db = mysqli_connect($hostname, $mysql_login, $mysql_password))){
            echo "error on connect";
            exit;
        }
        else{
            if(!(@mysqli_select_db($database, $db))){
             echo mysql_error();
             echo "<br>error on table connection";
             exit;
          }
          else{
              $SQL = "Insert into tblUsers (username,password,firstname,lastname, email, address, city, state, zip, phone, signupDate) values('".$_POST['username']."',PASSWORD('".$_POST['password1']."'),'".$_POST['firstname']."'.'".$POST['lastname']."'.'".$POST['email']."'.'".$POST['address']."'.'".$POST['city']."'.'".$POST['state']."'.'".$POST['zipcode']."'.'".$POST['phone']."',NOW())";
              mysql_query($SQL);
              if(is_numeric(mysql_insert_id())){
                  header("Location:memberContect.php?name=".$_POST['username']);
              }
              else{
                  echo "Sorry, there was an error with your signup. Please contact the administrater";
              }
              mysql_close($db);
          }
       } 
    }
}

?>
  1. 您可以將directyl連接到所需的數據庫,如下所示:

    mysqli_connect($ hostname,$ mysql_login,$ mysql_password,$ database);

  2. 問題在於,函數mysqli_select_db嘗試將選定的數據庫更改為另一個數據庫(但是您沒有選擇一個數據庫,因此首先需要使用第一個函數)
  3. 我建議你使用isset()函數 funtion代替=“”您也可以使用和addslashes()MS5()函數用於插入和你的代碼可以是這樣的!

     else if ($_POST['password1']!=$_POST['password2']){ $error=2; } else{ $hostname="localhost"; $database="contacts"; $mysql_login="Web_User"; $mysql_password="my12130"; $conn = mysqli_connect($hostname, $mysql_login, $mysql_password, $database); if (!$conn){ echo "error on connect"; exit; } else{ $username = addslashes($_POST['username']); $password = md5($_POST['password1']); $firstname = addslashes($_POST['firstname']); $lastname = addslashes($POST['lastname']); $email = addslashes($POST['email']); $address = addslashes($POST['address']); $lastname = addslashes($POST['city']); $state = addslashes($POST['state']); /* or $state = addslashes($POST['state']); */ $zipcode = intval($POST['zipcode']); /* or $zipcode = addslashes($POST['zipcode']); */ $phone = intval($POST['phone']); $signupDate = date("Ymd h:i:sa"); $SQL = "INSERT INTO tblUsers (username, password, firstname, lastname, email, address, city, state, zip, phone, signupDate) VALUES('$username', '$password', '$firstname', '$lastname', '$email', '$address', '$city', '$state', '$zip', '$phone', '$signupDate')"; mysql_query($SQL); if(is_numeric(mysql_insert_id())){ header("Location:memberContect.php?name=".$_POST['username']); } else{ echo "Sorry, there was an error with your signup. Please contact the administrater"; } mysql_close($db); } } } 

    }

  4. 您可以使用extract()函數來避免編寫$ _POST:

    如果($ _SERVER [“ REQUEST_METHOD”] ==“ POST”):提取($ _POST); 那么$ _POST ['address']將變為$ adress

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM