gpt4 book ai didi

PHP根据输入回显数据库中的所有数据

转载 作者:可可西里 更新时间:2023-11-01 01:12:30 26 4
gpt4 key购买 nike

我想了解如何根据单个键从数据库中输出数据,例如我的数据库列是:

kodeDosen(PrimaryKey),namaDosen,email,telepon,password

我的登录界面用户只能输入 kodeDosen 和密码,我想显示除密码以外的其他数据,这是我的注册 php:

<?php 
include 'connectdb.php';

$data = json_decode(file_get_contents('php://input'), true);

$kodeDosen =$data["kodeDosen"];
$namaDosen = $data["namaDosen"];
$email = $data["email"];
$telepon = $data["telepon"];
$password= $data["password"];

$message = array("message"=>"Success");
$failure = array("message"=>"Failure,kodeDosen already used");

$sql = "INSERT INTO tbl_dosen (kodeDosen, namaDosen, email, telepon, password) VALUES ('$kodeDosen', '$namaDosen', '$email', '$telepon','$password')";



if (mysqli_query($conn, $sql)) {
echo json_encode($message);
} else {
echo json_encode($failure) ;
}

?>

这是我的登录 php:

    <?php 
include 'connectdb.php';

$data = json_decode(file_get_contents('php://input'), true);

$kodeDosen =$data["kodeDosen"];
$password = $data["password"];

$message = array("message"=>"Data found");
$failure = array("mesage"=>"Data not found");

if ($stmt = mysqli_prepare($conn, "SELECT kodeDosen, namaDosen, email, telepon FROM tbl_dosen WHERE kodeDosen =? and password = ?")) {

/* bind parameters for markers */
mysqli_stmt_bind_param($stmt, "ss", $kodeDosen,$password);

/* execute query */
mysqli_stmt_execute($stmt);

/* store result */
mysqli_stmt_store_result($stmt);

if(mysqli_stmt_num_rows($stmt) > 0) {
echo json_encode($row);
}else {
echo json_encode($failure);
}

}

?>

最佳答案

由于 SQL 注入(inject),将变量直接插入 SQL 查询不是一个好主意。

我建议对这两个查询都使用准备好的语句。要使用准备好的语句从数据库中提取结果,它类似于:

面向对象风格:

$stmt = $db->prepare("SELECT kodeDosen, namaDosen, email, telepon FROM tbl_dosen WHERE kodeDosen = ? and password = ?");
$stmt->bind_param('ss', $kodeDosen, $password);
$stmt->execute();

$result = $stmt->get_result();

while ($row = $result->fetch_assoc()) {
//result is in row
var_dump($row);
}

程序风格:

$stmt = mysqli_prepare($conn, "SELECT kodeDosen, namaDosen, email, telepon FROM tbl_dosen WHERE kodeDosen = ? and password = ?");
mysqli_stmt_bind_param($stmt, 'ss', $kodeDosen, $password);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);

while ($row = $result->fetch_assoc()) {
//result is in row
var_dump($row);
}

关于PHP根据输入回显数据库中的所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49526102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com