簡體   English   中英

使用php腳本連接到數據庫

[英]Connecting to a database using php script

我已經創建了HTML表單,並且操作已設置為php腳本。 我對php很陌生,想知道是否有人可以幫助我? 我需要編寫一個腳本,以將信息從表單添加到數據庫。 我還需要創建數據庫和表。 我在網上做了很多閱讀,但仍然無法做到。 這是我的腳本。 請告訴我我犯了什么錯誤。 感謝您的所有幫助。

 <?php

    $con=mysql_connect("example.com","peter","abc123","my_db");

    $sql="CREATE DATABASE user";

    if (mysql_query($con,$sql)) {
        echo "Database user created successfully";
    }

    $sql="CREATE TABLE Persons(PID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(PID),firstName CHAR(30),lastName CHAR(30),age INT, dateofbirth DATE, email CHAR(30)";

    if (mysql_query($con,$sql)) { 
       echo "connected to database"; 
    }

    $sql="INSERT INTO Persons (firstName, lastName, age, dateofbirth, email) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]','$_POST[dateofbirth]','$_POST[email]')";

    if (mysql_query($con,$sql)) { 
       echo "added to database"; 
    }

    mysql_close($con);

?> 

我嘗試了所有建議的答案,但仍然無法做到。 有人可以提供執行此操作的代碼嗎? 我需要從表單獲取數據,然后使用php將其插入數據庫!

嗨,嘗試一下此代碼,

   $con=mysql_connect("example.com","peter","abc123");

  $sql="CREATE DATABASE user";

  if (mysql_query($sql))
    {
        echo "Database user created successfully";
    }

1.-不要使用mysql_ 函數已棄用,請改用mysqli_函數或PDO。

2.-我猜您有幾個錯誤,首先您在連接腳本上選擇一個數據庫my_db ,但是在下一行中創建了另一個數據庫...這種行為非常奇怪。 如果此腳本每次都執行,則應該更改代碼(不能每次都創建數據庫和表。

在插入字符串中,您的郵政編碼有誤,請嘗試以下操作:

$sql="INSERT INTO Persons (firstName, lastName, age, dateofbirth, email) VALUES ('{$_POST['firstname']}','{$_POST['lastname']}','{$_POST['age']}','{$_POST['dateofbirth']}','{$_POST['email']}')";

由於語法錯誤,您的CREATE TABLE查詢將失敗。 您必須檢查查詢結果,尤其是當下一個查詢取決於上一個查詢時(並且您正在執行創建數據庫/表之類的操作)。

接下來要更改的是mysql_* 不建議使用此功能,而應使用PDOmysqli_* (不難學習,只需嘗試即可)。

並且必須在腳本中進行一項更重要的更改。 您正在獲得用戶輸入並將其添加到查詢中。 不要那樣做! 您必須始終假設用戶正在嘗試對您進行黑客攻擊,因此必須檢查和過濾所有輸入的數據。 prepared statements與此類數據一起使用也是很好的。

if (mysql_query($con,$sql)){
            echo "Database user created successfully";
        } else {
            echo 'Error creating database - ' . mysql_error();
    }

您所有的sql語句都可以看到錯誤的地方

更改代碼(mysql_query($sql))而不是(mysql_query($con,$sql))

暫無
暫無

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

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