gpt4 book ai didi

php - 我的 PHP 表单发送数据,但 sql 显示所有列零记录

转载 作者:行者123 更新时间:2023-11-29 10:11:53 25 4
gpt4 key购买 nike

PHP 表单发送数据,但 SQL 在所有列中显示零。

我检查了我的代码是否正确并且打印了结果,但是当我将此数据发送到数据库时,所有列的结果都显示为 0。出生日期仅显示年份而不是完整日期。

这是 SQL 的结果:

enter image description here

这是我的 PHP 代码:

<?php 
include('../dbcon.php'); //database included
if (isset($_POST['signup'])) {

$uname = $_POST['uname'];
$email = $_POST['email'];
$fname = $_POST['firstname'];
$lastName = $_POST['lastname'];
$dob = $_POST['dob'];
$gender = $_POST['gender'];
$password = $_POST['password'];

$qry = "INSERT INTO `registration`(`uname`, `email`, `fname`, `lname`, `dob`, `gender`, `password`) VALUES ('$uname','$email','$fname','$lastName','$dob','$gender','$password')" ; //query taken from the select section of sql form registration.
$run = mysqli_query($dbcon, $qry); //run variable for running the query. $dbcon is database variable

if ($run == true) {
echo "data inserted";
}
else
{
echo "error occurred in registration";
}
}
?>

最佳答案

正如其他人指出的那样,您不会转义代码,因此当任何人使用带单引号的名称或密码时,该人就可以完全控制您的数据库。因此,不要在 SQL 命令中使用 PHP 变量,也不要使用 mysqli。使用 PDO 和准备好的语句。它们会自动转义所有内容,甚至检查数据类型是否正确(至少有一点)。

要回答您的问题,表的结构是什么(哪些列是 varchar、int、date...任何唯一的约束...)并且您可以发布一个无法插入的示例数据集用你的代码?

关于php - 我的 PHP 表单发送数据,但 sql 显示所有列零记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50825801/

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