【问题标题】:How to query variable from database using php如何使用php从数据库中查询变量
【发布时间】:2019-01-18 14:38:26
【问题描述】:

开发者们好! ?????? 我只想问我的代码有什么问题,我正在尝试使用 html、css、php 和数据库制作网页。现在我已经在我的 html 表单中创建了一个 php,并且我的数据库已经连接,但是每次我在我创建的 html 表单中提交信息时,我的数据库中都没有出现任何内容。

<?php 
if(isset($_POST['save'])){ 
    $FName = $_POST['FName'];
    $MName = $_POST['MName']; 
    echo "Successfully Added";
    $sql= "INSERT INTO 'tbstudinfo' (Transaction_Number, First_Name, `Middle_Name') VALUES ('000',$FName,$MName)";
} else{ 
    echo "<p>Insertion Failed.</p>"; 
} 
?>

【问题讨论】:

  • 代码是?
  • 已经发布了先生抱歉匆忙发布我忘了添加我的代码。
  • 请将您的代码以文本形式发布。您需要执行查询
  • 这是我的 php 文件,先生。 Transaction_Number, First_Name, 'Middle_Name') 值 ('000',$FName,$MName)"; } else{ echo "

    插入失败。

    "; } ?>
  • 编辑您的问题以添加额外信息。不要放在 cmets 中。

标签: php html database


【解决方案1】:

正如@executable 所提到的,您在代码中定义查询但不执行它。

  1. 定义连接对象(Mysqli、PDO..)

  2. 准备查询和绑定变量

  3. 执行查询

这是一个使用准备好的语句的示例

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

if( isset($_POST['save']) ){
    // prepare and bind
    $stmt = $conn->prepare("INSERT INTO 'tbstudinfo' (Transaction_Number, First_Name, Middle_Name) VALUES (?, ?, ?)");
    $stmt->bind_param("sss", $transaction_number, $FName, $MName);

    // set parameters and execute
    $transaction_number = '000';
    $FName= $_POST['FName'];
    $MName= $_POST['MName'];
    $stmt->execute();
    echo "Successfully Added";

}else{
    echo "<p>Nothing Posted</p>";
}

W3SchoolsPHP.Net 都有很好的示例,说明如何使用准备好的语句使您的 SQL 查询更加安全,来自 SQL Injections

【讨论】:

    【解决方案2】:

    您根本不执行查询。使用 MySQLi:

    <?php
    $servername = "localhost";
    $username = "root"; 
    $password = ""; 
    $db = "dbthesis"; 
    
    $conn = new mysqli($servername, $username, $password, $db); 
    
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 
    if(isset($_POST['save'])){ 
        $FName = $_POST['FName'];
        $MName = $_POST['MName']; 
        $sql = "INSERT INTO tbstudinfo (Transaction_Number, First_Name, Middle_Name) VALUES ('000', '$FName', '$MName')";
        if ($conn->query($sql) === TRUE) {
            echo "Successfully Added";
        } else {
            echo "<p>Insertion Failed.</p>"; 
        }
    }
    $conn->close();
    

    【讨论】:

    • 不要忘记查询中 $FName$MName 周围的引号。
    【解决方案3】:

    您只进行查询,而不是运行查询。这是这段代码

    $FName = $_POST['FName'];
    $MName = $_POST['MName'];
    $sql = "INSERT INTO tbstudioinfo (Transaction_Number, First_Name, Middle_Name) VALUES ('000','$FName','$MName')";
    
    // code below runs your query
    
    if (mysqli_query($conn, $sql)) {
        echo "Successfully Added";
    } else {
        echo "Error: " . $sql . "<br>" . mysqli_error($conn);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 2014-01-05
      • 1970-01-01
      • 1970-01-01
      • 2019-04-22
      • 1970-01-01
      • 2020-07-13
      相关资源
      最近更新 更多